MDB Queue Injection
red247 Sep 23, 2008 8:40 PMI have a JMX service that publishes messages to a queue, which is monitored by a MDB. The MDB will receive the message without any truoble. I use injection to reference a queue to publish a message back to the JMX service. The injected queue always comes up with a null pointer exception. Does anyone see something wrong with what I have listed below? TIA.
components.xml section
<jms:queue-connection queue-connection-factory-jndi-name="java:/JmsXA" /> <jms:managed-queue-sender name="corrConvQueue" auto-create="true" queue-jndi-name="queue/corrConvQueue"/> <jms:managed-queue-sender name="corrConvProcessedQueue" auto-create="true" queue-jndi-name="queue/corrConvProcessedQueue"/>
MDB section
@MessageDriven(name="CorrConvMDB", activationConfig = { @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination", propertyValue="queue/corrConvQueue") } ) public class CorrConvMDB implements MessageListener { private static final Log log = LogFactory.getLog( CorrConvMDB.class ); protected int numberCandidates = 0; @PersistenceContext EntityManager manager; @In(required=true) protected transient QueueSession session; @In(required=true) protected transient QueueSender corrConvProcessedQueue; /** * * @see javax.jms.MessageListener#onMessage(javax.jms.Message) */ @SuppressWarnings("unchecked") @TransactionAttribute(TransactionAttributeType.REQUIRED) public void onMessage(Message message) { ......create message...... // Return the message to the manager. corrConvProcessedQueue.send(message); } }