|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Strange problem with JMS messages and broker |
« View previous topic :: View next topic » |
Author |
Message
|
aks |
Posted: Tue Jul 13, 2004 6:41 pm Post subject: Strange problem with JMS messages and broker |
|
|
Voyager
Joined: 19 Jul 2002 Posts: 84
|
I have raised a PMR with IBM on the following problem, but they are yet to shed any light on it.
For the PMR, I have a flow which accepts an XML message on an MQInput node, transforms it to COBOL copybook format with an XMLTransformation node which is then connected to an MQOutput node. For even more simplicity, I have now just wired the MQOutput node to the MQInput. The message is put on the queue with a Java program that uses the MQI base classes. Every time I run the program (from a Windows XP command line), the message is put on the input queue and flowed to the output queue, without any problem.
When I change my program to use the JMS classes, I run the prgram, the first message is put on the inut queue and is flowed to the output queue. However, the 2nd and subsequent times I run the program, the broker does not read the messages and the messages just stay on the input queue.
The service trace I provided to IBM shows that the first time, an MQGET is issued and the message is processed by the broker. The 2nd time, just 2033 (message not available) entries are logged.
I can't explain why. The JMS java app does the following steps:
1) QueueConnection opened
2) QueueSession opened
3) QueueSender opend
4) jaxax.jms.Message sent
5) QueueSender closed
6) QueueSession committed
7) QueueSession closed
8 QueueConnection stopped
9) QueueConnection closed
The messages are put on the queue every time, but the broker only reads the first. I have to stop and restart the broker to get the first message to be read, then the problem happens again
Does any one know why this would happen? Is it possible that even though the Java app finishes normally, the queue is locked for read for some reason?
Thanks
Alan |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jul 14, 2004 7:34 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Can you use something to browse the other messages on the queue?
If not, then the messages aren't committed, even though you think you have committed them. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
aks |
Posted: Fri Jul 16, 2004 5:48 pm Post subject: |
|
|
Voyager
Joined: 19 Jul 2002 Posts: 84
|
IBM found the problem:
==============================================
After further investigation and consultation with the MQ change team,
we think we know what is causing the problem with the 2nd message.
The MQGETs from DataFlowEngine.exe are specifying a Get Message Option
of MQGMO_LOGICAL_ORDER. This option causes the 2nd MQGET to ignore
certain other parameters on the MQGET and instead it uses options stored in
the qmgr for the group id and last sequence number +1.
The MQ Application Programming Reference under MQGMO has a more
detailed description of what this flag actually means.
Removing the Logical Order flag should resolve your problem. Please try
this and feedback your results.
==============================================
After unchecking this flag, all the messages flowed through successfully
Alan |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jul 16, 2004 6:04 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
aks wrote: |
IBM found the problem: |
Yeah.
It's pretty much always the application. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
aks |
Posted: Fri Jul 16, 2004 11:14 pm Post subject: |
|
|
Voyager
Joined: 19 Jul 2002 Posts: 84
|
After 4 1/2 years doing MQ/MQSI development, I'm still learning something new every week
When you drag an MQInput node to your flow workspace, the Logical Order checkbox is checked by default. I've ignorred this for years without any problems!
All part of the rich tapestry of life!
Alan |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|