qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Branden Smith <BSm...@liaison.com>
Subject AMQP-JMS client: messages dequeued as AmqpMessageImpl instances?
Date Fri, 11 Oct 2013 21:21:56 GMT
I'm using the Qpid AMQP-JMS client to both publish and subscribe to the same queue (provided
by HornetQ 2.4.0.beta1); I'm publishing a message as a javax.jms.TextMessage, but it is being
received by the listener as a org.apache.qpid.amqp_1_0.jms.impl.AmqpMessageImpl.


    queueSession = queueCnxn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    queueProducer = queueSession.createSender(eventQueue);
    queueProducer.send(queueSession.createTextMessage("test message"));


    public class TestConsumer implements MessageListener {
	public void onMessage(Message message) {
		final String logPrefix;
		TextMessage txtMsg;
		logPrefix = "[onMessage] ";
		log.debug(">>> " + logPrefix);
		try {
			log.debug("message acknowledged");
			log.debug("message type: " + message.getClass());
			//log.debug("body assignable to String??? " + message.isBodyAssignableTo(String.class));
		} catch (JMSException jmsExc) {
			// TODO
			log.error("ack-exception!", jmsExc);


    17:07:42.035 [Thread-4] DEBUG >>> [onMessage] 
    17:07:42.035 [Thread-4] DEBUG message acknowledged
    17:07:42.035 [Thread-4] DEBUG message type: class org.apache.qpid.amqp_1_0.jms.impl.AmqpMessageImpl

I'm not sure what to do with AmqpMessageImpl; it only inherits from MessageImpl, and only
implements javax.jms.Message. Furthermore, if I attempt to call Message.isBodyAssignableTo(Class<T>),
I get an AbstractMethodError. Trying to directly cast to TextMessage throws a ClassCastException.

The examples all show the consumer receiving the usual types defined by the JMS API; any thoughts
as to what I could be doing wrong?


Branden Smith

To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org

View raw message