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

中间件编程

开发平台:

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 <jni.h>
  19. #include <sys/types.h>
  20. #include <sys/stat.h>
  21. #include <fcntl.h>
  22. #include <stdlib.h>
  23. #include "string.h"
  24. #include "AtmiBrokerServerControl.h"
  25. #include "ace/OS_NS_unistd.h"
  26. #include "xatmi.h"
  27. #include "userlogc.h"
  28. #include "XATMITestSuite.h"
  29. int interationCount = 100;
  30. #include "ace/OS_NS_unistd.h"
  31. #include "xatmi.h"
  32. #include "userlogc.h"
  33. extern void test_tpcall_TPETIME_service(TPSVCINFO *svcinfo);
  34. extern void test_tpcall_TPEOTYPE_service(TPSVCINFO *svcinfo);
  35. extern void test_tpcall_TPESVCFAIL_service(TPSVCINFO *svcinfo);
  36. extern void test_tprecv_TPEV_DISCONIMM_service(TPSVCINFO *svcinfo);
  37. extern void test_tprecv_TPEV_SVCFAIL_service(TPSVCINFO *svcinfo);
  38. extern void test_no_tpreturn_service(TPSVCINFO *svcinfo);
  39. extern void test_tx_tpcall_x_octet_service_without_tx(TPSVCINFO *svcinfo);
  40. extern void test_tx_tpcall_x_octet_service_with_tx(TPSVCINFO *svcinfo);
  41. extern "C" void BAR(TPSVCINFO * svcinfo) {
  42. int sendlen = 14;
  43. char* buffer = tpalloc((char*) "X_OCTET", NULL, sendlen);
  44. strncpy(buffer, "BAR SAYS HELLO", 14);
  45. tpreturn(TPSUCCESS, 1, buffer, sendlen, 0);
  46. }
  47. void tpcall_x_octet(TPSVCINFO * svcinfo) {
  48. int sendlen = 14;
  49. char* buffer = tpalloc((char*) "X_OCTET", 0, sendlen);
  50. strncpy(buffer, "BAR SAYS HELLO", 14);
  51. tpreturn(TPSUCCESS, 1, buffer, sendlen, 0);
  52. }
  53. void loopy(TPSVCINFO* tpsvcinfo) {
  54. userlogc((char*) "loopy");
  55. }
  56. /* this routine is used for DEBIT and CREDIT */
  57. void debit_credit_svc(TPSVCINFO *svcinfo) {
  58. userlogc((char*) "debit_credit_svc: %d", svcinfo->len);
  59. DATA_BUFFER *dc_ptr;
  60. int rval;
  61. /* extract request typed buffer */
  62. dc_ptr = (DATA_BUFFER *) svcinfo->data;
  63. /*
  64.  * Depending on service name used to invoke this
  65.  * routine, perform either debit or credit work.
  66.  */
  67. if (!strcmp(svcinfo->name, "DEBIT")) {
  68. /*
  69.  * Parse input data and perform debit
  70.  * as part of global transaction.
  71.  */
  72. } else {
  73. /*
  74.  * Parse input data and perform credit
  75.  * as part of global transaction.
  76.  */
  77. }
  78. // TODO MAKE TWO TESTS
  79. if (dc_ptr->failTest == 0) {
  80. rval = TPSUCCESS;
  81. dc_ptr->output = OK;
  82. } else {
  83. rval = TPFAIL; /* global transaction will not commit */
  84. dc_ptr->output = NOT_OK;
  85. }
  86. /* send reply and return from service routine */
  87. tpreturn(rval, 0, (char *) dc_ptr, 0, 0);
  88. userlogc((char*) "tpreturn 0 hmm: %d", svcinfo->len);
  89. }
  90. /* this routine is used for INQUIRY */
  91. void inquiry_svc(TPSVCINFO *svcinfo) {
  92. userlogc((char*) "inquiry_svc");
  93. DATA_BUFFER *ptr;
  94. long event;
  95. int rval;
  96. /* extract initial typed buffer sent as part of tpconnect() */
  97. ptr = (DATA_BUFFER *) svcinfo->data;
  98. /*
  99.  * Parse input string, ptr->input, and retrieve records.
  100.  * Return 10 records at a time to client. Records are
  101.  * placed in ptr->output, an array of account records.
  102.  */
  103. for (int i = 0; i < 5; i++) {
  104. /* gather from DBMS next 10 records into ptr->output array */
  105. tpsend(svcinfo->cd, (char *) ptr, 0, TPSIGRSTRT, &event);
  106. }
  107. // TODO DO OK AND FAIL
  108. if (ptr->failTest == 0) {
  109. rval = TPSUCCESS;
  110. } else {
  111. rval = TPFAIL; /* global transaction will not commit */
  112. }
  113. /* terminate service routine, send no data, and */
  114. /* terminate connection */
  115. tpreturn(rval, 0, NULL, 0, 0);
  116. }
  117. void testtpacall_service(TPSVCINFO *svcinfo) {
  118. userlogc((char*) "testtpacall_service");
  119. int len = 20;
  120. char *toReturn = (char*) malloc(len);
  121. strcpy(toReturn, "testtpacall_service");
  122. tpreturn(TPSUCCESS, 0, toReturn, len, 0);
  123. free(toReturn);
  124. }
  125. void test_tpcall_x_octet_service(TPSVCINFO *svcinfo) {
  126. userlogc((char*) "test_tpcall_x_octet_service");
  127. bool ok = false;
  128. if (svcinfo->data) {
  129. if (strncmp(svcinfo->data, "test_tpcall_x_octet", svcinfo->len) == 0) {
  130. ok = true;
  131. }
  132. }
  133. int len = 60;
  134. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  135. if (ok) {
  136. strcpy(toReturn, "tpcall_x_octet");
  137. } else {
  138. strcpy(toReturn, "fail");
  139. if (svcinfo->data) {
  140. strcpy(toReturn, svcinfo->data);
  141. } else {
  142. strcpy(toReturn, "dud");
  143. }
  144. }
  145. tpreturn(TPSUCCESS, 20, toReturn, len, 0);
  146. }
  147. void test_tpcall_x_octet_service_zero(TPSVCINFO *svcinfo) {
  148. userlogc((char*) "test_tpcall_x_octet_service_zero");
  149. int len = 0;
  150. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  151. tpreturn(TPSUCCESS, 21, toReturn, len, 0);
  152. }
  153. void test_tpcall_x_common_service(TPSVCINFO *svcinfo) {
  154. userlogc((char*) "test_tpcall_x_common_service");
  155. bool ok = false;
  156. DEPOSIT *dptr = (DEPOSIT*) svcinfo->data;
  157. if (dptr->acct_no == 12345678 && dptr->amount == 50) {
  158. ok = true;
  159. } else {
  160. char* foo = svcinfo->data;
  161. for (int i = 0; i < svcinfo->len; i++) {
  162. userlogc((char*) "Position: %d was: %o", i, foo[i]);
  163. }
  164. userlogc((char*) "Data was: %d/%d", dptr->acct_no, dptr->amount);
  165. }
  166. int len = 60;
  167. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  168. if (ok) {
  169. strcpy(toReturn, "tpcall_x_common");
  170. } else {
  171. strcpy(toReturn, "fail");
  172. }
  173. tpreturn(TPSUCCESS, 22, toReturn, len, 0);
  174. }
  175. void test_tpcall_x_c_type_service(TPSVCINFO *svcinfo) {
  176. userlogc((char*) "test_tpcall_x_c_type_service");
  177. bool ok = false;
  178. ACCT_INFO *aptr = (ACCT_INFO*) svcinfo->data;
  179. bool acctEq = aptr->acct_no == 12345678;
  180. bool nameEq = strcmp(aptr->name, "TOM") == 0;
  181. bool fooEq = aptr->foo[0] == 1.1F && aptr->foo[1] == 2.2F;
  182. bool balsEq = aptr->balances[0] == 1.1 && aptr->balances[1] == 2.2;
  183. if (acctEq && nameEq && fooEq && balsEq) {
  184. ok = true;
  185. }
  186. int len = 60;
  187. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  188. if (ok) {
  189. strcpy(toReturn, "tpcall_x_c_type");
  190. } else {
  191. strcpy(toReturn, "fail");
  192. }
  193. tpreturn(TPSUCCESS, 23, toReturn, len, 0);
  194. }
  195. void testtpcancel_service(TPSVCINFO *svcinfo) {
  196. userlogc((char*) "testtpcancel_service");
  197. if (!(svcinfo->flags && TPNOREPLY)) {
  198. int len = 21;
  199. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  200. strcpy(toReturn, "testtpcancel_service");
  201. tpreturn(TPSUCCESS, 0, toReturn, len, 0);
  202. }
  203. }
  204. void testtpconnect_service(TPSVCINFO *svcinfo) {
  205. userlogc((char*) "testtpconnect_service");
  206. tpreturn(TPSUCCESS, 0, NULL, 0, 0);
  207. }
  208. void testTPConversation_service(TPSVCINFO *svcinfo) {
  209. userlogc((char*) "testTPConversation_service ");
  210. bool fail = false;
  211. char *sendbuf = ::tpalloc((char*) "X_OCTET", NULL, svcinfo->len);
  212. char *rcvbuf = ::tpalloc((char*) "X_OCTET", NULL, svcinfo->len);
  213. char* expectedResult = (char*) malloc(11);
  214. strcpy(expectedResult, "conversate");
  215. userlogc((char*) "testTPConversation_service expected: %s", expectedResult);
  216. /* int errorMessageLen = 10 + 1 + svcinfo->len + 1;
  217.  userlogc((char*) "testTPConversation_service errorMessageLen: %d", errorMessageLen);
  218.  char* errorMessage = (char*) malloc(errorMessageLen);
  219.  sprintf(errorMessage, "%s/%s", expectedResult, svcinfo->data);
  220.  userlogc((char*) "testTPConversation_service errorMessage will be: %s", errorMessage);
  221.  */
  222. if (strncmp(expectedResult, svcinfo->data, 10) != 0) {
  223. userlogc((char*) "Fail");
  224. if (svcinfo->data != NULL) {
  225. userlogc((char*) "Got invalid data");
  226. } else {
  227. userlogc((char*) "GOT A NULL");
  228. }
  229. fail = true;
  230. } else {
  231. userlogc((char*) "Chatting");
  232. long revent = 0;
  233. for (int i = 0; i < interationCount; i++) {
  234. sprintf(sendbuf, "hi%d", i);
  235. //userlogc((char*) "testTPConversation_service:%s:", sendbuf);
  236. int result = ::tpsend(svcinfo->cd, sendbuf, svcinfo->len,
  237. TPRECVONLY, &revent);
  238. if (result != -1) {
  239. result = ::tprecv(svcinfo->cd, &rcvbuf, &svcinfo->len, 0,
  240. &revent);
  241. if (result == -1 && revent == TPEV_SENDONLY) {
  242. char* expectedResult = (char*) malloc(svcinfo->len);
  243. sprintf(expectedResult, "yo%d", i);
  244. // char* errorMessage = (char*) malloc(svcinfo->len * 2 + 1);
  245. // sprintf(errorMessage, "%s/%s", expectedResult, rcvbuf);
  246. if (strcmp(expectedResult, rcvbuf) != 0) {
  247. free(expectedResult);
  248. // free(errorMessage);
  249. fail = true;
  250. break;
  251. }
  252. free(expectedResult);
  253. // free(errorMessage);
  254. } else {
  255. fail = true;
  256. break;
  257. }
  258. } else {
  259. fail = true;
  260. break;
  261. }
  262. }
  263. userlogc((char*) "Chatted");
  264. }
  265. if (fail) {
  266. tpreturn(TPESVCFAIL, 0, sendbuf, 0, 0);
  267. } else {
  268. sprintf(sendbuf, "hi%d", interationCount);
  269. tpreturn(TPSUCCESS, 0, sendbuf, svcinfo->len, 0);
  270. }
  271. ::tpfree(rcvbuf);
  272. free(expectedResult);
  273. // free(errorMessage);
  274. }
  275. void testTPConversation_short_service(TPSVCINFO *svcinfo) {
  276. userlogc((char*) "testTPConversation_short_service");
  277. long sendlen = 4;
  278. long revent = 0;
  279. char *sendbuf = ::tpalloc((char*) "X_OCTET", NULL, sendlen);
  280. strcpy(sendbuf, "hi0");
  281. ::tpsend(svcinfo->cd, sendbuf, sendlen, 0, &revent);
  282. strcpy(sendbuf, "hi1");
  283. tpreturn(TPSUCCESS, 0, sendbuf, sendlen, 0);
  284. }
  285. void testtpdiscon_service(TPSVCINFO *svcinfo) {
  286. userlogc((char*) "testtpdiscon_service");
  287. long timeout = 2;
  288. ACE_OS::sleep(timeout);
  289. }
  290. void testtpfreeservice_service(TPSVCINFO *svcinfo) {
  291. userlogc((char*) "testtpfreeservice_service");
  292. // Allocate a buffer to return
  293. char *toReturn = tpalloc((char*) "X_OCTET", (char*) "acct_info", 1);
  294. // Free should be idempotent on the inbound buffer
  295. ::tpfree(svcinfo->data);
  296. // Get the data from tptypes still
  297. int toTest = ::tptypes(svcinfo->data, NULL, NULL);
  298. // Check the values of tptypes (should still have been valid
  299. if (toTest == -1 || tperrno == TPEINVAL) {
  300. // False
  301. toReturn[0] = '0';
  302. } else {
  303. // True
  304. toReturn[0] = '1';
  305. }
  306. // Return the data
  307. tpreturn(TPSUCCESS, 0, toReturn, 1, 0);
  308. }
  309. void testtpgetrply_service(TPSVCINFO *svcinfo) {
  310. userlogc((char*) "testtpgetrply_service");
  311. char * toReturn = ::tpalloc((char*) "X_OCTET", NULL, 22);
  312. strcpy(toReturn, "testtpgetrply_service");
  313. tpreturn(TPSUCCESS, 0, toReturn, 22, 0);
  314. }
  315. void testtprecv_service(TPSVCINFO *svcinfo) {
  316. userlogc((char*) "testtprecv_service");
  317. }
  318. void testtpreturn_service(TPSVCINFO *svcinfo) {
  319. userlogc((char*) "testtpreturn_service");
  320. char *toReturn = (char*) malloc(21);
  321. strcpy(toReturn, "testtpreturn_service");
  322. tpreturn(TPSUCCESS, 0, toReturn, 21, 0);
  323. free(toReturn);
  324. }
  325. void testtpreturn_service_tpurcode(TPSVCINFO *svcinfo) {
  326. userlogc((char*) "testtpreturn_service_tpurcode");
  327. int len = 0;
  328. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  329. if (strncmp(svcinfo->data, "24", 2) == 0) {
  330. tpreturn(TPSUCCESS, 24, toReturn, len, 0);
  331. } else {
  332. tpreturn(TPSUCCESS, 77, toReturn, len, 0);
  333. }
  334. }
  335. void testtpsend_service(TPSVCINFO *svcinfo) {
  336. userlogc((char*) "testtpsend_service");
  337. }
  338. void testtpsend_tpsendonly_service(TPSVCINFO *svcinfo) {
  339. userlogc((char*) "testtpsend_tpsendonly_service");
  340. long event = 0;
  341. int result = ::tpsend(svcinfo->cd, svcinfo->data, svcinfo->len, TPRECVONLY,
  342. &event);
  343. long revent = 0;
  344. long rcvlen;
  345. char* rcvbuf = (char *) tpalloc((char*) "X_OCTET", NULL, svcinfo->len);
  346. result = ::tprecv(svcinfo->cd, &rcvbuf, &rcvlen, 0, &revent);
  347. }
  348. void testtpservice_service(TPSVCINFO *svcinfo) {
  349. userlogc((char*) "testtpservice_service");
  350. }
  351. void testtpunadvertise_service(TPSVCINFO *svcinfo) {
  352. userlogc((char*) "testtpunadvertise_service");
  353. char * toReturn = new char[26];
  354. strcpy(toReturn, "testtpunadvertise_service");
  355. // Changed length from 0L to svcinfo->len
  356. tpreturn(TPSUCCESS, 0, toReturn, 25, 0);
  357. delete toReturn;
  358. }
  359. void test_TTL_service(TPSVCINFO *svcinfo) {
  360. long timeout = 45;
  361. ACE_OS::sleep(timeout);
  362. userlogc((char*) "TTL sleep timeout %d seconds", timeout);
  363. int len = 60;
  364. char *toReturn = ::tpalloc((char*) "X_OCTET", NULL, len);
  365. strcpy(toReturn, "test_tpcall_TTL_service");
  366. tpreturn(TPSUCCESS, 0, toReturn, len, 0);
  367. }
  368. extern "C"
  369. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_serverinit(JNIEnv *, jobject) {
  370. int exit_status = -1;
  371. userlogc((char*) "serverinit called");
  372. #ifdef WIN32
  373. char* argv[] = {(char*)"server", (char*)"-c", (char*)"win32", (char*)"default", (char*)"-i", (char*)"1"};
  374. #else
  375. char* argv[] = {(char*)"server", (char*)"-c", (char*)"linux", (char*)"default", (char*)"-i", (char*)"1"};
  376. #endif
  377. int argc = sizeof(argv)/sizeof(char*);
  378. exit_status = serverinit(argc, argv);
  379. exit_status = tpadvertise((char*) "BAR", BAR);
  380. userlogc((char*) "serverinit returning");
  381. return;
  382. }
  383. extern "C"
  384. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_serverdone(JNIEnv *, jobject) {
  385. int exit_status = -1;
  386. userlogc((char*) "serverdone called");
  387. exit_status = serverdone();
  388. userlogc((char*) "serverdone returning");
  389. return;
  390. }
  391. extern "C"
  392. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseBAR(JNIEnv *, jobject) {
  393. // Do local work
  394. tpadvertise((char*) "BAR", BAR);
  395. }
  396. extern "C"
  397. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseLOOPY(JNIEnv *, jobject) {
  398. tpadvertise((char*) "LOOPY", loopy);
  399. }
  400. extern "C"
  401. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseDEBIT(JNIEnv *, jobject) {
  402. tpadvertise((char*) "DEBIT", debit_credit_svc);
  403. }
  404. extern "C"
  405. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseCREDIT(JNIEnv *, jobject) {
  406. tpadvertise((char*) "CREDIT", debit_credit_svc);
  407. }
  408. extern "C"
  409. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseINQUIRY(JNIEnv *, jobject) {
  410. tpadvertise((char*) "INQUIRY", inquiry_svc);
  411. }
  412. extern "C"
  413. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPACall(JNIEnv *, jobject) {
  414. tpadvertise((char*) "TestTPACall", testtpacall_service);
  415. // TODO tpadvertise exit_status =
  416. }
  417. extern "C"
  418. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertisetpcallXOctet(JNIEnv *, jobject) {
  419. tpadvertise((char*) "tpcall_x_octet", test_tpcall_x_octet_service);
  420. }
  421. extern "C"
  422. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertisetpcallXOctetZero(JNIEnv *, jobject) {
  423. tpadvertise((char*) "tpcall_x_octet", test_tpcall_x_octet_service_zero);
  424. }
  425. extern "C"
  426. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertisetpcallXCommon(JNIEnv *, jobject) {
  427. tpadvertise((char*) "tpcall_x_common", test_tpcall_x_common_service);
  428. }
  429. extern "C"
  430. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertisetpcallXCType(JNIEnv *, jobject) {
  431. tpadvertise((char*) "tpcall_x_c_type", test_tpcall_x_c_type_service);
  432. }
  433. extern "C"
  434. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPCancel(JNIEnv *, jobject) {
  435. tpadvertise((char*) "TestTPCancel", testtpcancel_service);
  436. }
  437. extern "C"
  438. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPConnect(JNIEnv *, jobject) {
  439. tpadvertise((char*) "TestTPConnect", testtpconnect_service);
  440. }
  441. extern "C"
  442. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPConversation(JNIEnv *, jobject) {
  443. tpadvertise((char*) "TestTPConversation",
  444. testTPConversation_service);
  445. }
  446. extern "C"
  447. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPConversa2(JNIEnv *, jobject) {
  448. tpadvertise((char*) "TestTPConversation",
  449. testTPConversation_short_service);
  450. }
  451. extern "C"
  452. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPDiscon(JNIEnv *, jobject) {
  453. tpadvertise((char*) "TestTPDiscon", testtpdiscon_service);
  454. }
  455. extern "C"
  456. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPFree(JNIEnv *, jobject) {
  457. tpadvertise((char*) "TestTPFree", testtpfreeservice_service);
  458. }
  459. extern "C"
  460. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPGetrply(JNIEnv *, jobject) {
  461. tpadvertise((char*) "TestTPGetrply", testtpgetrply_service);
  462. }
  463. extern "C"
  464. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPRecv(JNIEnv *, jobject) {
  465. tpadvertise((char*) "TestTPRecv", testtprecv_service);
  466. }
  467. extern "C"
  468. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPReturn(JNIEnv *, jobject) {
  469. tpadvertise((char*) "TestTPReturn", testtpreturn_service);
  470. }
  471. extern "C"
  472. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPReturn2(JNIEnv *, jobject) {
  473. tpadvertise((char*) "TestTPReturn",
  474. testtpreturn_service_tpurcode);
  475. }
  476. extern "C"
  477. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPSendTPSendOnly(JNIEnv *, jobject) {
  478. tpadvertise((char*) "TestTPSend", testtpsend_tpsendonly_service);
  479. }
  480. extern "C"
  481. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPSend(JNIEnv *, jobject) {
  482. tpadvertise((char*) "TestTPSend", testtpsend_service);
  483. }
  484. extern "C"
  485. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPService(JNIEnv *, jobject) {
  486. tpadvertise((char*) "TestTPService", testtpservice_service);
  487. }
  488. extern "C"
  489. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestTPUnadvertise(JNIEnv *, jobject) {
  490. tpadvertise((char*) "TestTPUnadvertise",
  491. testtpunadvertise_service);
  492. }
  493. extern "C"
  494. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTX1(JNIEnv *, jobject) {
  495. tpadvertise((char*) "tpcall_x_octet", test_tx_tpcall_x_octet_service_without_tx);
  496. }
  497. extern "C"
  498. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTX2(JNIEnv *, jobject) {
  499. tpadvertise((char*) "tpcall_x_octet", test_tx_tpcall_x_octet_service_with_tx);
  500. }
  501. extern "C"
  502. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestRollbackOnlyTpcallTPETIMEService(JNIEnv *, jobject) {
  503. tpadvertise((char*) "TestRbkOnly", test_tpcall_TPETIME_service);
  504. }
  505. extern "C"
  506. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestRollbackOnlyTpcallTPEOTYPEService(JNIEnv *, jobject) {
  507. tpadvertise((char*) "TestRbkOnly", test_tpcall_TPEOTYPE_service);
  508. }
  509. extern "C"
  510. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestRollbackOnlyTpcallTPESVCFAILService(JNIEnv *, jobject) {
  511. tpadvertise((char*) "TestRbkOnly", test_tpcall_TPESVCFAIL_service);
  512. }
  513. extern "C"
  514. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestRollbackOnlyTprecvTPEVDISCONIMMService(JNIEnv *, jobject) {
  515. tpadvertise((char*) "TestRbkOnly", test_tprecv_TPEV_DISCONIMM_service);
  516. }
  517. extern "C"
  518. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestRollbackOnlyTprecvTPEVSVCFAILService(JNIEnv *, jobject) {
  519. tpadvertise((char*) "TestRbkOnly", test_tprecv_TPEV_SVCFAIL_service);
  520. }
  521. extern "C"
  522. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTestRollbackOnlyNoTpreturnService(JNIEnv *, jobject) {
  523. tpadvertise((char*) "TestRbkOnly", test_no_tpreturn_service);
  524. }
  525. extern "C"
  526. JNIEXPORT void JNICALL Java_org_jboss_blacktie_jatmibroker_RunServer_tpadvertiseTTL(JNIEnv *, jobject) {
  527. tpadvertise((char*) "TTL", test_TTL_service);
  528. }