You notice the WebSphere Commerce Serial Listener for WebSphere MQ running in a cluster does not process inbound messages serially from one serial queue.
One WebSphere Commerce Server is not aware of other WebSphere Commerce cluster members accessing the same serial queue for messages.
Resolving the problem
In order to have the Serial Listener for WebSphere MQ (referred to as the Serial Transport Adapter in WebSphere Commerce) to process inbound messages serially in a clustered environment, here is the configuration needed for the WebSphere MQ Server:
- Run the following WebSphere MQ command to start the configuration of MQ queue manager (for a Windows environment, run it under a DOS prompt):
- Run the MQSC commands (a WebSphere MQ command updating the Queue Manager configuration):
ALTER QLOCAL('serial_queue_name') DEFSOPT(EXCL)
Note: The queue name is case sensitive.
The WebSphere MQ server will only allow one cluster member's Serial Listener to connect to the inbound serial queue. The other members will keep trying in every 600 seconds (by default) until the connection is available again. One of the other cluster members will get a new connection if and only if the previously working Serial Listener was ended.
For the other cluster members which cannot get the connection, an error message will be issued every time (by default 600 seconds) it fails to make the connection. The reconnection time can be modified in the instance's configuration file.