Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

MDB port listener dies on exception - help!  RSS feed

Jimmy Ho
Ranch Hand
Posts: 61
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I'm a newbie at MQ and MDBs.

So when a message comes in to my message-driven EJB, and, say, I have a temporary issue, I want to put it back on the queue. (Nevermind for now that it will just immediately retry a millisecond later).

I thought it would be easy to do this by just throwing a RuntimeException. My Head First EJB was telling me that the container just puts the message back on the queue. But what's happening is that the listener port on that JMS queue halts after the retries are done, and I can no longer receive messages. I don't see ejbRemove() in my logs and it looks like my bean is still alive.

Is this normal and expected behavior for the EJB container? Or is it some quirk of MQ or WebSphere Application Server?

I'm running the embedded MQ (5.3) messaging server on WebSphere Application Server 5.1 on my laptop.

P.S. I haven't tried rolling back a container-managed transaction yet, but I'd rather not increase the complexity of my code with that. Then again, if everyone thinks that's the best option, and my port listener won't die...
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!