I need help into configuring WAS ND 7 message-driven beans connecting to a remote WebSphere MQ server queue manager with activation specifications:
Here's the scenario:I have a WAS cluster "CLUSTER" with two members "MEMBER01" and "MEMBER02".
I deployed an application called "MDB" on it.
The "MDB" application is doing a JNDI lookup to a connection factory "jms/MyConnectionFactory" that connects to a remote WebSphere MQ queue manager and listens for messages on queue "QUEUE01".
I run a batch java client that drops 20 messages on "QUEUE01" to be processed by the MDB application on cluster "CLUSTER". The MDB endpoint on "MEMBER01" processes 13 messages and the one on "MEMBER02" processes 7 messages; The batch job times out and fails because it never terminates: the application doesn't know that they processed 20 messages together and that the batch was actually successful.
My question: What are the options to make the application aware that it actually processed 20 messages in a clustered environment? What's the simplest solution - I was reading that maybe we need to create a Bus with Messaging engines in WebSphere (and add the cluster to it), or that we could disable Shareability on the MQ queues so that at only one time only one connection is allowed from one MBD endpoint. Another solution that people offered was to create a database table and update it as it processes the messages... What do you think?