Hi,

ENV:
ActiveMQ-Snapshot-5.0
JBoss AS 4.2.1

I have the following queues defined:

 <mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=org.apache.activemq.requestQueue">
           <attribute name="JNDIName">activemq/requestQueue</attribute>
      <depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends>
      <attribute name="Type">javax.jms.Queue</attribute>
      <attribute
name="Properties">PhysicalName=org.apache.activemq.requestQueue</attribute>
   </mbean>

   <mbean code="org.jboss.resource.deployment.AdminObject"
name="activemq.queue:name=org.apache.activemq.replyQueue">
           <attribute name="JNDIName">activemq/echoResponseQueue</attribute>
      <depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='activemq-ra.rar'</depends>
      <attribute name="Type">javax.jms.Queue</attribute>
      <attribute
name="Properties">PhysicalName=org.apache.activemq.replyQueue</attribute>
   </mbean>

I have an MDB defined that listens for messages from the requestQueue and
posts a response on the replyQueue.

I am using the Spring unit tests provided (Producer and Consumer) and my
Producer sends messages to the requestQueue, the MDB receives the request
and posts a message back on to the replyQueue.

I can see that there are messages in the replyQueue via JMX. However, my
Consumer never receives messages from the replyQueue.

If I run the test without the MDB, by placing messages in the replyQueue via
the PRODUCER, my Consumer receives the messages successfully. In other words
messages posted by the MDB are never received by the consumer. 

The following is what my MDB does to place messages back on the reply queue:

InitialContext initCtx = new InitialContext();
                
        QueueConnectionFactory qcf = (QueueConnectionFactory) initCtx
                .lookup("java:comp/env/jms/MyQueueConnectionFactory");
        
        QueueConnection qcon = qcf.createQueueConnection();
        QueueSession qsession = qcon.createQueueSession(true, 0);
        Queue q = (Queue) initCtx.lookup("activemq/replyQueue");
        QueueSender qsender = qsession.createSender(q);
        
        TextMessage message = qsession.createTextMessage();
        
        message.setText(response);
        qsender.setTimeToLive(100000000);
        qsender.send(message);
        
        qsender.close();
        qsession.close();
        qcon.close();


I am quite confused as to why this is happening as I see messages as being
available in the replyQueue.
Any tips would be appreciated.
-- 
View this message in context: 
http://www.nabble.com/Messages-not-being-received-by-consumer-tf4779201s2354.html#a13672078
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to