Documentation of the MyTransaction tool used for example.test
.
The MyTransaction tool is used to test the longterm-transaction-feature of jvmqmsgque.
To test this feature the client connect to the server and send two service-calls:
The service-call itself is quite simple:
Privat_Data_1 or Privat_Data_2
1111 or 2222
The GOAL for this test is:
package example; import jvmsgque.mqmsgque.*; import jvmsgque.mkkernel.*; final class MyTransaction extends MqContextC { static class CallbackC implements MqServiceIF { public void Callback(MqContextC ctx) { ctx.ReadT_START(); String myPrivateHandle = ctx.ReadSTR(); ctx.ReadT_END(); int myServiceResult = ctx.ReadI32(); System.out.println("myPrivateHandle=" + myPrivateHandle + ", myServiceResult=" + myServiceResult); } } public static void main(String[] argv) { MyTransaction ctx = new MyTransaction(); try { ctx.ConfigSetName("MyTransaction"); // setup commandline arguments used for parsing MkBufferListC args = new MkBufferListC(argv); // check if the '--token' option is available, default "SRVC" String token = args.CheckOptionSTR("--token", "SRVC"); // connect to the server ctx.LinkCreate(args); // register callback ctx.ServiceCreate("CLB1", new CallbackC()); // send block using the LOW-Api ctx.SendSTART(); ctx.SendT_START(); ctx.SendSTR("Privat_Data_1"); ctx.SendT_END(); ctx.SendI32(11111); ctx.SendEND_AND_TRANSACTION(token, "CLB1"); // send block using the HIGN-Api -> same as above, but shorter ctx.Send("T", "CLB1", token + ":(C)I", "Privat_Data_2", 22222); // now we wait for exact ONE result of the "ctx" ctx.ProcessEvent(MqWaitOnEventE.OWN); } catch (Throwable e) { ctx.ErrorCatch(e); } ctx.Exit(); } }