I've created a very simple MDB that listens to a Queue and then simply prints the message it is sent. I've also written a small app that writes to that queue.
The problem is that the MDB is never invoked. I have System.out.println statements in each of the MDB methods (the constructor, setMessageDrivenContext, onMessage, ejbCreate, and ejbRemove) and nothing is output. Jboss deploys this MDB with no problems.
I have verified that Messages are being placed on the queue correctly by reading them from another app. But no matter what I do, the MDB will not process it.
Here is the portion of ejb-jar.xml...
<message-driven>
<ejb-name>EmailManager</ejb-name>
<ejb-class>com.arch.boss.email.EmailManagerBean</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
<resource-ref>
<res-ref-name>jms/QCF</res-ref-name>
<res-type>javax.jms.QueueConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</message-driven>
And my jboss.xml....
<message-driven>
<ejb-name>EmailManager</ejb-name>
<destination-jndi-name>queue/testQueue</destination-jndi-name>
<configuration-name>Standard Message Driven Bean</configuration-name>
<resource-ref>
<res-ref-name>jms/QCF</res-ref-name>
<jndi-name>ConnectionFactory</jndi-name>
</resource-ref>
</message-driven>
Thank you for any input.
Hello,
Could you post the client code you use to post the the queue? This would help.
Regards,
Weston