Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

MDB deadlock - how to solve it?

 
Baba Bizlowsky
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi everybody.

I have a simple message-driven bean which has a simple task - get a message, extract some data and store it in the database.

Everything works smoothly until an exception is thrown - for instance, the column in the database table is too small to fit a String. As a result I get a deadlock, since the MDB doesn't eat the message but instead puts it back into the queue, gets it again, throws exception, puts it back etc.

How do I get rid of this? Better said, what do I need to put in DD or the code so that MDB eats the message instead of putting it back?

Thanks in advance for any kind of help. Cheers!
 
Damanjit Kaur
Ranch Hand
Posts: 346
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Message acknowledgement is part of transaction in CMT MDB. if its rolled back, message is not acknowledged by container and thus redelivered. So using 'Not Supported' attribute for transaction for MDB may work or let the MDB be BMT.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic