0

I need your help in below issue which I am facing in JMS.

Scenario: step 1. I have fired a poison message, system thrown a Runtime exception and failed the message. I have put a back-out queue for moving error messages. System is moving the error message. Now there is no message in Request(MDB listening queue) queue.

step 2. Now, I have fired valid message . Message have processed successfully, got a response to Response queue. But at the end the transaction had rolled back and the second message also moved into Error queue.

step 3. After this, it is repeating the 2nd step for all the valid messages fired.In my listening queue ,i don't find poison message either.

struggling with this issue from last week.please help me out.I am new to Stack overflow,if missed any needed info please guide me, will provide whatever info needed. I am using Websphere MQ,and WAS server and defined Active specifications.Using MDB as a listener with @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) because of some commit issues in global transaction with Transaction supported mode.

ᄂ ᄀ
  • 5,669
  • 6
  • 43
  • 57
Ravi
  • 1
  • 1
  • So it sounds like you might be saying you want to consume the valid messages even though whatever transaction you're referring to rolls back? – Scott Kurz Mar 22 '16 at 14:07
  • Reading this over, it doesn't look that surprising. The JMS provider isn't going to know whether the message rolls back because it is a poison message or because some other exception is thrown in the same transaction. But what are you trying to accomplish? If there is a piece of work that you want to occur independently from the consumption or rollback of the message, there are ways of defining the transaction boundaries appropriately. – Scott Kurz Mar 22 '16 at 14:19

0 Answers0