Oct 15th, 2008, 09:50 AM
Spring JMS DMLC + CommonJ WorkManager works on SIB, doesn't on WMQ
We have been using a standard DMLC with a WorkManagerTaskExecutor in our app.
We deploy it on WAS6.1 and use its ServiceIntegrationBus as the JMS provider (aka Default Messaging Provider in WAS). Everything works like a charm.
When we try to switch providers and use a fully featured WebSphere MQ 6 as a provider, our DMLC won't consume! After a app restart it consumes everything it finds on the queue, but then ignores subsequent messages as they arrive!
We are deeply troubled by this behaviour
Any help or insight appreciated!
Oct 16th, 2008, 02:22 AM
DMLC is a simple wrapper around standard JMS MessageConsumer.receive(). Can you reproduce the problem via pure JMS? I mean you can create a consumer using the same settings as the one used for DMLC (the same connection factory, destination, transacted session status etc) and start endless loop that just performs receive() with the same timeout as DMLC. If you experience the same problem you can easily query websphere support about that and offer a complete test-case that illustrates the problem.
Oct 17th, 2008, 03:30 AM
I've chosen a different approach ....
I've managed to get DMLC working fine without a CommonJ workmanager (with one of spring implemented TaskExecutors) so i'm pretty sure that the problem can be pin pointed to websphere.
And an issue will be submited to IBM.
However i was curios to hear if anyone has our combination working...
DMLC (Spring 2.5.5)
WorkManager (obtained via JNDI from WAS)
WebSphere MQ 6.0.2