Author |
Message
|
fremar50 |
Posted: Tue Sep 30, 2008 6:42 am Post subject: MQSyncpoint in Cache application seems not to work |
|
|
Newbie
Joined: 31 Jul 2008 Posts: 6
|
Any help would be highly appreciated:
we are testing MQ syncpoint within Cache application, and according to the IBM documentation when we do MQget under syncpoint messages should return back to the queue in case of an abend. This does not happen for some reason: message disappears.
Below is the test code that is used:
TestRoutine
S strm=##class(%Library.FileCharacterStream).%New()
S StreamFileDir="c:\testdir"
D strm.%LocationSet(StreamFileDir)
D strm.FilenameSet("myfile.txt")
S QDIBconn=##class(%Net.MQRecv).%New()
S QDIBconn.QName="MQ.TO.VMS.DEEPU"
S QDIBconn.QMgr="QQLSDMQ0130"
S QDIBconn.Channel="VMS.SVRCONN"
S QDIBconn.Transport="TCP"
S QDIBconn.Connection="QDCIAD130(1921)"
S QDIBconn.Syncpoint = 1
S spec="S_"_QDIBconn.Channel_"/TCP/"_QDIBconn.Connection
D QDIBconn.%Connect()
S MQOK=QDIBconn.%GetStream(.strm,+$G(TIMEOUT,5))
W strm.ReadLine()
H //Simulating abend.
D QDIBconn.%Commit()
Q
;
This is a client application, QDCIAD130 is the name of the server where qmgr QQLSDMQ0130 resides. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Sep 30, 2008 7:08 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
which language are you writing this in, Perl? _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 30, 2008 7:15 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
That's clearly not perl.
That's either something very very odd, or mangled .NET/C#.
I guess it's something called 'Cache'?
But why one would simulate an abend by explicitly calling Commit, I don't know. |
|
Back to top |
|
 |
fremar50 |
Posted: Tue Sep 30, 2008 9:14 am Post subject: |
|
|
Newbie
Joined: 31 Jul 2008 Posts: 6
|
This IS Cache (offered by the company called Intersystems).
This is just a test module.
H ==> this is what is used to Simulate abend
so the next line:
D QDIBconn.%Commit()
is not being executed under this test.
We expect to see a message that was retrieved by MQGet under syncpoint from the queue MQ.TO.VMS.DEEPU to go back to the same very queue after line H (explicit abend) is executed. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 30, 2008 9:39 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
|
Back to top |
|
 |
fremar50 |
Posted: Tue Sep 30, 2008 10:11 am Post subject: |
|
|
Newbie
Joined: 31 Jul 2008 Posts: 6
|
That's a good point - will have to ask the Intersystems.
Any other ideas? |
|
Back to top |
|
 |
|