I have a 4 node websphere application server cluster running some application. The application listens to a queue of websphere mq server. I have created the jms resources in the cluster scope, so all the nodes connect to the same queue manager, and the open input count for the queue is 4 in mq explorer. The problem is if a message is published to the queue, one of the nodes grabs the message and starts processing, but it throws an error saying the message header is incorrect. When I shut down 3 nodes and kept only one running, the application on that node read the message and started processing just fine. I thought that read contention was not a problem in mq, but the facts point to the other direction. Is there some way to set some property in the queue like read lock or something like a scheduler which distributes the messages to 4 nodes fairly ?
How do I solve Websphere MQ server queue read race condition?
1.5k views Asked by user1600936 At
1
There are 1 answers
Related Questions in JMS
- Using selector with JMSMessageID always returns null
- Put JMS message properties in IBM MQ queue and access from other JMS client which run on Websphere liberty
- How to browse ActiveMQ queue using JMS selector when number of messages in queue is > 100K
- How to tell if a JMS Session is async
- ActiveMQ Artemis - Get current redelivery count for scheduled messages
- Valid value usage in JMeter's JMS Subscriber 'JMS Selector' property - in order to consume messages with a dynamically changing JMSCorrelationID
- Setting the Maximum Message Size for JMS Destinations in Payara
- ActiveMQ Artemis HA split-brain issue on OOME crash
- JMeter JMS Publisher: Getting the JMSMessageId (generated at runtime) in the header and using it as the value of another JMS Property before publish
- ActiveMQ Artemis: Muticast address deliver messages inconsistently
- ActiveMQ Artemis Consumer Connection Distribution
- ActiveMQ Artemis server produces lots of AMQ224016 error in logs after migration to Jakarta API client
- How to create a JMS queue with topic in Docker Compose?
- jakarta.jms.JMSException: Failed to build body from content. Serializable class not available to broker
- How do i stop @JmsListener from listening a queue using JmsListenerEndpointRegistry in spring boot?
Related Questions in IBM-MQ
- Problem with C# submitting file to IBM MQ Broker
- Put JMS message properties in IBM MQ queue and access from other JMS client which run on Websphere liberty
- pymqi connection calls fail in subprocesses on osx *and* the exception kills the python shell
- MQRC_Q_MGR_NAME_ERROR
- MQRC_KEY_REPOSITORY_ERROR appear when connect to remote queue server with SSL
- How to connect to multiple IBM queue connections having different QM, Host, Port from Java
- Exception while launching swagger for .net 6 API using IBM MQ
- ERROR: Process message with RFH2 header using python to IBM MQ
- Copy MQ segmentation enabled messages to multiple queues on IBM MQ 9.2.0.7
- Start an apache camel route from a different spring boot application
- How to get a IBM MQ message by Message ID using bash ? is there a tool available?
- How to set TLS Cipher TLS_RSA_WITH_AES_128_GCM_SHA256 on Windows 2016
- Spring boot upgarde issue come. Ibm. disthub2. Impl. Jms. TextMesaageImpl
- Exist some way to extract the correlation-Id property from of a MQ message using AMQP?
- IBM MQ not returning Correlation ID
Related Questions in IBM-WAS
- Java Timer doesn't fire at Websphere server
- (WebSphere 7.0) Error Parsing a CoreGroup document
- ClassCastException with JAXB - Websphere jar vs applicationl jar
- restarting application server in websphere without admin user/password
- DSRA0304E: XAException occurred. Could not load the DLL sqljdbc.dll, or one of the DLLs it references
- WAS 8.5.5.7 : JAX-RPC / JAX-WS / APACHE SOAP
- JACL Script for Topic Connection Factory getting errors
- EJBDeploy: RMIC Command failed on this project
- SSL configuration in websphere 6.1
- Unable to edit .xhtml files on RAD 8.5/9.0
- How to use my own java in websphere 8.5.
- IBM Websphere 8.5.5 unable to detect Spring when used java config
- NameNotFoundException while deploying using jython
- ZUUL Forwarding Error when invoking the service
- OPTIONS-request with Authentication header (IBM WAS Liberty profile)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
If you read the message under syncpoint using a
GETinstead of aBROWSE, no other thread can retrieve it unless and untilROLLBACKis issued. If the message is OK to process, then issue aCOMMITwhen done.On the other hand, if you
BROWSEthe messages then all threads can retrieve the same message.Whatever is going on is not attributable to thread contention over the same message somehow corrupting the message. Regardless of whether the message is browsed or destructively retrieved, WMQ assures the integrity and atomic operation of the call. To diagnose this, it will be necessary to have more information as to the exact error you are seeing, including a print of the linked exception which will contain the transport provider's native return code.