TestSpecExampleTwoService.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 TestSpecExampleTwoService implements BlacktieService {
  5. private static final Logger log = LogManager
  6. .getLogger(TestSpecExampleTwoService.class);
  7. public Response tpservice(TPSVCINFO svcinfo) {
  8. try {
  9. log.info("inquiry_svc");
  10. short rval;
  11. /* extract initial typed buffer sent as part of tpconnect() */
  12. X_C_TYPE ptr = (X_C_TYPE) svcinfo.getBuffer();
  13. /*
  14.  * Parse input string, ptr->input, and retrieve records. Return 10
  15.  * records at a time to client. Records are placed in ptr->output,
  16.  * an array of account records.
  17.  */
  18. for (int i = 0; i < 5; i++) {
  19. /* gather from DBMS next 10 records into ptr->output array */
  20. svcinfo.getSession().tpsend(ptr, 0, Connection.TPSIGRSTRT);
  21. }
  22. // TODO DO OK AND FAIL
  23. if (ptr.getInt("failTest") == 0) {
  24. rval = Connection.TPSUCCESS;
  25. } else {
  26. rval = Connection.TPFAIL; /* global transaction will not commit */
  27. }
  28. /* terminate service routine, send no data, and */
  29. /* terminate connection */
  30. return new Response(rval, 0, null, 0, 0);
  31. } catch (ConnectionException e) {
  32. return new Response(Connection.TPFAIL, 0, null, 0, 0);
  33. }
  34. }
  35. }