Description
When running using HTTP transport connector the provided sample ActiveMQ stat sample hangs on the :
MapMessage reply = (MapMessage) consumer.receive();
to reproduce :
just use the activeMQ provided sample statistics plugin sample copied below :
ActiveMQSession session = broker.getSession() ;
Queue replyTo = session.createTemporaryQueue();
MessageConsumer consumer = session.createConsumer(replyTo);
Queue testQueue = session.createQueue("TEST.FOO");
MessageProducer producer = session.createProducer(null);
String queueName = "ActiveMQ.Statistics.Destination." + testQueue.getQueueName() ;
Queue query = session.createQueue(queueName);
Message msg = session.createMessage();
producer.send(testQueue, msg) ;
msg.setJMSReplyTo(replyTo);
producer.send(query, msg);
MapMessage reply = (MapMessage) consumer.receive();
assertNotNull(reply);
assertTrue(reply.getMapNames().hasMoreElements());
for (Enumeration e = reply.getMapNames();e.hasMoreElements()
{ String name = e.nextElement().toString(); System.err.println(name + "=" + reply.getObject(name)); }1) Check that it works correclty using an ActiveMQ TCPIP based session. ===> OK
2) just replace the ActiveMQ TCPIP based session by an HTTP transport session. ===> KO
The sample will remain unresponsive on the : MapMessage reply = (MapMessage) consumer.receive(); instruction then.
Attachments
Issue Links
- blocks
-
AMQ-3202 Sending an Empty MapMessage over HttpTransport fails with exception
- Resolved