TestSpecExampleOneService.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 TestSpecExampleOneService implements BlacktieService {
  5. private static final Logger log = LogManager
  6. .getLogger(TestSpecExampleOneService.class);
  7. public Response tpservice(TPSVCINFO svcinfo) {
  8. log.info("debit_credit_svc");
  9. short rval;
  10. /* extract request typed buffer */
  11. X_C_TYPE dc_ptr = (X_C_TYPE) svcinfo.getBuffer();
  12. /*
  13.  * Depending on service name used to invoke this routine, perform either
  14.  * debit or credit work.
  15.  */
  16. if (!svcinfo.getName().equals("DEBIT")) {
  17. /*
  18.  * Parse input data and perform debit as part of global transaction.
  19.  */
  20. } else {
  21. /*
  22.  * Parse input data and perform credit as part of global
  23.  * transaction.
  24.  */
  25. }
  26. // TODO MAKE TWO TESTS
  27. try {
  28. if (dc_ptr.getInt("failTest") == 0) {
  29. rval = Connection.TPSUCCESS;
  30. dc_ptr.setInt("output", TestSpecExampleOne.OK);
  31. } else {
  32. rval = Connection.TPFAIL; /* global transaction will not commit */
  33. dc_ptr.setInt("output", TestSpecExampleOne.NOT_OK);
  34. }
  35. } catch (ConnectionException e) {
  36. return new Response(Connection.TPFAIL, Connection.TPEITYPE, dc_ptr,
  37. 0, 0);
  38. }
  39. /* send reply and return from service routine */
  40. return new Response(rval, 0, dc_ptr, 0, 0);
  41. }
  42. }