This week's book giveaway is in the Servlets forum.
We're giving away four copies of Murach's Java Servlets and JSP and have Joel Murach on-line!
See this thread for details.
The moose likes EJB and other Java EE Technologies and the fly likes Regarding onMessage() call of an MDB Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "Regarding onMessage() call of an MDB" Watch "Regarding onMessage() call of an MDB" New topic
Author

Regarding onMessage() call of an MDB

Sandeep K M
Greenhorn

Joined: Sep 11, 2007
Posts: 2
Hi,

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){
onMessage(){}
}

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:

onMessage(){
if(Connection.status == running){
// Process further
}else{
// 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
-Sandeep
Freddy Wong
Ranch Hand

Joined: Sep 11, 2006
Posts: 959

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

What about if you do something like this:


SCJP 5.0, SCWCD 1.4, SCBCD 1.3, SCDJWS 1.4
My Blog
Sandeep K M
Greenhorn

Joined: Sep 11, 2007
Posts: 2
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
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Regarding onMessage() call of an MDB
 
Similar Threads
Strange behaviour of MDB and EJB
How to programmatically find if EJB is operating in transaction mode
MDB state
container transaction and setRollbackOnly
ejb Stateless SessionBean send JMS msg's