Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Message-driven bean (EJB 3.0), JCA adapter, WAS 7.0 - message retry not according to ActivationSpec?

 
morgan dowell
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Whether my MDB uses BMT (bean-managed transactions) or CMT (container-managed transactions) with trans-attribute NOT_SUPPORTED, upon caught or uncaught exception, the message is returned to the queue and retries 4 more times immediately instead of following the ActivationSpec in WAS that says to delay 30 seconds in between retries. After 5 failures, its sent to the system.failed bus.

each error is prepended with this:
[12/1/11 12:03:12:614 MST] 00000033 LocalExceptio E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "onMessage" on bean "BeanId(MEBGatewayEAR#MEBGatewayMDB-0.94.00-SNAPSHOT.jar#MyMDBListener, null)". Exception data: javax.ejb.EJBException: nested exception is: javax.ejb.EJBException: barbarbar


If I use CMT with trans-attribute REQUIRED, get mdb context and setrollbackonly only, the message goes straight into the system.failed bus, 0 retries.

Why is there no delay in between retries, or 0 retries?

ejb-jar.xml


ibm-ejb-jar-bnd.xml


Any ideas? Thanks!
 
morgan dowell
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Anyone have any ideas?
 
morgan dowell
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
the Maximum failed deliveries per message setting in the Service Integration Bus attached to the queue seems to work. If I change it to 3, the msg fails 3 times etc. Why does the retry interval under the activationSpec not work?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic