TestTTLService.java
上传用户:xfwatch
上传日期:2020-12-14
资源大小:872k
文件大小:1k
源码类别:

中间件编程

开发平台:

Java

  1. package org.jboss.blacktie.jatmibroker.xatmi;
  2. import org.apache.log4j.LogManager;
  3. import org.apache.log4j.Logger;
  4. public class TestTTLService implements BlacktieService {
  5. private static final Logger log = LogManager
  6. .getLogger(TestTTLService.class);
  7. private static int n = 0;
  8. public Response tpservice(TPSVCINFO svcinfo) {
  9. log.info("test_ttl_service");
  10. try {
  11. int timeout = 45;
  12. X_OCTET dptr = (X_OCTET) svcinfo.getBuffer();
  13. String data = new String(dptr.getByteArray());
  14. log.info("test_ttl_service get data: " + data);
  15. int len = 60;
  16. X_OCTET toReturn = (X_OCTET) svcinfo.tpalloc("X_OCTET", null);
  17. if (data.contains("counter")) {
  18. String counter = String.valueOf(n);
  19. toReturn.setByteArray(counter.getBytes());
  20. len = counter.length();
  21. } else {
  22. n++;
  23. try {
  24. log.info("test_ttl_service sleep for " + timeout
  25. + " seconds");
  26. Thread.sleep(timeout * 1000);
  27. log.info("test_ttl_service slept for " + timeout
  28. + " seconds");
  29. toReturn.setByteArray("test_ttl_service".getBytes());
  30. } catch (Exception e) {
  31. log.error("sleep failed with " + e);
  32. }
  33. }
  34. return new Response(Connection.TPSUCCESS, 22, toReturn, len, 0);
  35. } catch (ConnectionException e) {
  36. return new Response(Connection.TPFAIL, 0, null, 0, 0);
  37. }
  38. }
  39. }