Bugs item #501820, was opened at 2002-01-10 09:40 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376685&aid=501820&group_id=22866
Category: JBossMQ Group: v2.4 (stable) >Status: Closed >Resolution: Invalid Priority: 5 Submitted By: Corby (corby) Assigned to: Nobody/Anonymous (nobody) Summary: Inconsistent behavior for non-tx queues Initial Comment: I have observed this problem in JBoss 2.4.4-Catalina, running on Windows 2000. I have an MDB that receives messages from a queue, Q1, for messages. It attempts to process the message, and this processing involves numerous database writes. If something goes wrong with the processing, then I wish to rollback my database updates, and copy the message into a second queue, Q2. I never want to rollback operations on Q1 or Q2. So I declare my database to be a managed resource for my MDB, but I do not declare Q1 or Q2 to be managed resources. And I use a non-XA connection factory to retrieve my queue connections. When my MDB uses bean-managed transactions, it behaves exactly as I expect. That is, committing or rolling back the transaction will determine whether or not writes occur to the database, but it has no effect on whether a message is pulled out of Q1 or sent into Q2. But when my MDB uses container-managed transactions, the behavior is inconsistent. Committing the transaction causes it to behave as expected. But if I call setRollbackOnly() on the MessageDrivenContext, it rolls back the datasource AND Q1, but not Q2. (Of course, this causes the message to infinitely redeliver, process with error, and successfully forward on to Q2). I think this is a bug, and that the bean should not rollback Q1 when it is CMT, just like it doesn't when it is BMT. ---------------------------------------------------------------------- >Comment By: Hiram Chirino (chirino) Date: 2002-05-23 21:56 Message: Logged In: YES user_id=175851 If you use a container-managed transactions the message delivery is part of the transaction that you are rolling back. Declaring Q1 or Q2 ot be managed or non-managed resources has no effect. The Connection that puts a message to Q2 is obviously not an JCA RA obtainted connection since it's transaction was not elisted with the Transaction Manager. All the behavior you have described is conforment to the EJB spec. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=376685&aid=501820&group_id=22866 _______________________________________________________________ Don't miss the 2002 Sprint PCS Application Developer's Conference August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
