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

中间件编程

开发平台:

Java

  1. /*
  2.  * JBoss, Home of Professional Open Source
  3.  * Copyright 2008, Red Hat, Inc., and others contributors as indicated
  4.  * by the @authors tag. All rights reserved.
  5.  * See the copyright.txt in the distribution for a
  6.  * full listing of individual contributors.
  7.  * This copyrighted material is made available to anyone wishing to use,
  8.  * modify, copy, or redistribute it subject to the terms and conditions
  9.  * of the GNU Lesser General Public License, v. 2.1.
  10.  * This program is distributed in the hope that it will be useful, but WITHOUT A
  11.  * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  12.  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  13.  * You should have received a copy of the GNU Lesser General Public License,
  14.  * v.2.1 along with this distribution; if not, write to the Free Software
  15.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  16.  * MA  02110-1301, USA.
  17.  */
  18. #include <string.h>
  19. #include "userlogc.h"
  20. #include "xatmi.h"
  21. #include "tx.h"
  22. extern void test_tx_tpcall_x_octet_service_without_tx(TPSVCINFO *svcinfo) {
  23. userlogc(
  24. (char*) (char*) "TxLog: service running: test_tx_tpcall_x_octet_service_without_tx");
  25. int len = 60;
  26. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  27. TXINFO txinfo;
  28. int inTx = ::tx_info(&txinfo);
  29. userlogc(
  30. (char*) (char*) "TxLog: service running: test_tx_tpcall_x_octet_service_without_tx inTx=%d",
  31. inTx);
  32. if (inTx == 0) { // or && txinfo.transaction_state != TX_ACTIVE
  33. strcpy(toReturn, "test_tx_tpcall_x_octet_service_without_tx");
  34. } else {
  35. strcpy(toReturn, svcinfo->data);
  36. }
  37. tpreturn(TPSUCCESS, 0, toReturn, len, 0);
  38. }
  39. extern void test_tx_tpcall_x_octet_service_with_tx(TPSVCINFO *svcinfo) {
  40. userlogc(
  41. (char*) (char*) "TxLog: service running: test_tx_tpcall_x_octet_service_with_tx");
  42. int len = 60;
  43. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  44. TXINFO txinfo;
  45. int inTx = ::tx_info(&txinfo);
  46. userlogc(
  47. (char*) (char*) "TxLog: service running: test_tx_tpcall_x_octet_service_with_tx inTx=%d",
  48. inTx);
  49. if (inTx == 1) { // or && txinfo.transaction_state == TX_ACTIVE
  50. strcpy(toReturn, "test_tx_tpcall_x_octet_service_with_tx");
  51. } else {
  52. strcpy(toReturn, svcinfo->data);
  53. }
  54. tpreturn(TPSUCCESS, 0, toReturn, len, 0);
  55. }