Forums Register Login
Regarding onMessage() call of an MDB

I am very new to MDB�s. I want to do a simple check for a connection to my backend before executing the onMessage() method of my MDB.

Is there any way by which I can prevent the EJB container from calling the onMessage(). Basically I want to execute the onMessage() only if my check condition passes. The logic should be some thing like below:

if(Connection.status == running){

Do we have any facilities to do some think like above? Or else what I want to do is to check the connection condition inside onMessage() call and I want to block the further processing of the messages in the queue, some thing as shown below:

if(Connection.status == running){
// Process further
// Block further processing and also the calls to onMessage() by the container

Any body who know how to do the below:

1.I want to execute the onMessage() only if my check condition passes.
2.How to block further processing of the onMessage() by the EJB container till my condition check passes

Thanks & Regards
I don't think you can control how the EJB container should invoke the onMessage().

What about if you do something like this:
Hi Freddy,

Thanks for your reply. The application in which i am trying to achive this is an asyncronous system where in putting message to the queue is done in one flow i.e. outbound flow and processing message is done in a another flow i.e. inbound flow.

So i cant check the condition before putting the messages in to the queue. What i want to do is to block the execution of the onMessage() until my condition passes.

If you have any other idea to implement it? that will be very great

This thread has been viewed 853 times.

All times above are in ranch (not your local) time.
The current ranch time is
Dec 16, 2018 12:20:34.