After upgrade the EMS client to version 6.0 and higher, duplicate acknowledge calls cause javax.jms.IllegalStateException: Message not delivered.
book
Article ID: KB0087585
calendar_today
Updated On:
Products
Versions
TIBCO Enterprise Message Service
-
Not Applicable
-
Description
Resolution: Description: ============= After upgrade the EMS client to version 6.0 and higher, duplicate acknowledge calles cause javax.jms.IllegalStateException: Message not delivered.
Environment: =============
Resolution: ============= This change was added since EMS 6.0 when QA was testing the "message recover" feature and it only applies for "EXPLICIT" acknowledgement modes. The intent is that, once "message recover" is called, you cannot explicitly acknowledge that recovered message using the existing message. You need to wait for the recovered message to be redelivered, possibly to another queue consumer.
Here is the related issue indicated in EMS 6.0 release note:
1-AOTGJH Fixed an error in message recovery that permitted acknowledge() to be called on a message that was already recovered
There is no special flag to disable this behavior. The application should be fixed.
Issue/Introduction
After upgrade the EMS client to version 6.0 and higher, duplicate acknowledge calls cause javax.jms.IllegalStateException: Message not delivered.