Discussion:
Activation Spec + MQ : How to stop on failure?
(too old to reply)
Mike.Finn
2009-11-11 03:36:03 UTC
Permalink
WAS 7, with WMQ (6.x) based Activation Spec. I have an MDB connected to the AS and want to stop the listener for it on a programmatically detected failure (by setting rollback or unchecked exception), but I have not been able to make this work. It seems I can either get the messages to system exception queue, but that's about it. We need to preserve order and I can't have some messages in the sys exc queue and the MDB start working again (connecting to another system) and processing messages without the 'failed' messages first.

I know this is possible with a listener port, but there is an open issue with WAS requiring 7.0.0.5 upgrade (EJB3 MDB w/ 'deprecated' listener port), which is not an option for us at this point.

http://www-01.ibm.com/support/docview.wss?rs=180&uid=swg1PK86005


Has anyone gotten this to work?

Thanks,
Mike
mamwl1
2009-11-11 15:52:54 UTC
Permalink
Hi Mike.

The ability for a WMQ activation spec to pause on transaction rollback was not added until WAS 7.0.0.5. Throwing a runtime exception in onMessage should have the desired effect though. Exactly which level of WAS are you running with? My advice would be to move to 7.0.0.7 which should be available shortly.

Cheers, Matt.
Mike.Finn
2009-11-11 16:59:46 UTC
Permalink
Matt,

I was afraid that was going to be the answer! We are currently on 7.0.0.3. Upgrading to 5 or 7 may not be possible in our timeframe, but it sounds like we may not have a choice, since listener port + EJB3 fix is in 7.0.0.5 as well.

Thanks for the info.
Mike
p_jain
2009-11-13 16:41:07 UTC
Permalink
I guess WAS 7.0 stop MDB on failure if under activation spect setting, "Stop endpoint if message delivery fails" is checked.

Not sure if this is what you looking for.

Loading...