Documentation of the MyTransaction tool used for example.test
.
The MyTransaction tool is used to test the longterm-transaction-feature of rbmqmsgque.
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:
require "rbmqmsgque" include RbMsgque::MkKernel include RbMsgque::MqMsgque def callback(ctx) ctx.ReadT_START() myPrivateHandle = ctx.ReadSTR() ctx.ReadT_END() myServiceResult = ctx.ReadI32() STDOUT.puts "myPrivateHandle=#{myPrivateHandle}, myServiceResult=#{myServiceResult}" end # setup the client-context ctx = MqContextC.new begin ctx.ConfigSetName("MyTransaction") # setup commandline arguments used for parsing args = MkBufferListC.CreateLA(ARGV) # check if the '--token' option is available, default "SRVC" token = args.CheckOptionSTR("--token", "SRVC") # connect to the server ctx.LinkCreate(args) # register callback ctx.ServiceCreate("CLB1", method(:callback)) # 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) rescue Exception => ex ctx.ErrorCatch(ex) ensure ctx.Exit() end