package org.jboss.narayana.blacktie.jatmibroker.xatmi.services; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; import org.jboss.narayana.blacktie.jatmibroker.core.conf.ConfigurationException; import org.jboss.narayana.blacktie.jatmibroker.xatmi.Connection; import org.jboss.narayana.blacktie.jatmibroker.xatmi.ConnectionException; import org.jboss.narayana.blacktie.jatmibroker.xatmi.Response; import org.jboss.narayana.blacktie.jatmibroker.xatmi.Service; import org.jboss.narayana.blacktie.jatmibroker.xatmi.TPSVCINFO; import org.jboss.narayana.blacktie.jatmibroker.xatmi.X_OCTET; public class TTLService implements Service { private static final Logger log = LogManager.getLogger(TTLService.class); private static int n = 0; public Response tpservice(TPSVCINFO svcinfo) throws ConnectionException, ConfigurationException { log.info("TTLService"); X_OCTET dptr = (X_OCTET) svcinfo.getBuffer(); String data = new String(dptr.getByteArray()); log.info("test_ttl_service get data: " + data); int len = 60; X_OCTET toReturn = (X_OCTET) svcinfo.getConnection().tpalloc("X_OCTET", null); log.info("Data was: " + data); if (data.contains("counter")) { String counter = String.valueOf(n); toReturn.setByteArray(counter.getBytes()); len = counter.length(); } else { try { int timeout = 60; log.info("TTLService sleep for " + timeout + " seconds"); Thread.sleep(timeout * 1000); log.info("TTLService slept for " + timeout + " seconds"); toReturn.setByteArray("test_ttl_service".getBytes()); } catch (Exception e) { log.error("sleep failed with " + e); } n++; } return new Response(Connection.TPSUCCESS, 22, toReturn, 0); } }