Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to use XPath selectors in ActiveMQ consumer

I have such class:

public class XpathSelectorConsumer {

  public static void main(String[] args) throws JMSException {
    ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:55901");

    // Create a Connection
    Connection connection = connectionFactory.createConnection();
    connection.start();
    Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    Destination destination = session.createQueue("TEST.QUEUE");
    MessageProducer producer = session.createProducer(destination);
    producer.setDeliveryMode(DeliveryMode.PERSISTENT);
    Message message = session.createTextMessage("<?xml version='1.0' encoding='UTF-8'?><notification>this is a test</notification>");
    producer.send(message);

    MessageConsumer consumer = session.createConsumer(destination, "XPATH '/notification'");
    Message message2 = consumer.receive(10000);
    System.out.println("Received message: " + message2);


    producer.close();
    session.close();
    connection.close();
    consumer.close();
  }
}

When I run it, it always prints such string:

Received message: null

When I use no selector it returns all messages.

What am I doing wrong? How can I use XPath selectors?

like image 688
evgeniy44 Avatar asked Jan 21 '26 01:01

evgeniy44


1 Answers

I didn't have xalan.jar in activemq classpath. The question is resolved. Thanks

like image 168
evgeniy44 Avatar answered Jan 22 '26 17:01

evgeniy44



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!