我有这样的类(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();
}
}
当我运行它时,它总是打印这样的字符串:
Received message: null
当我不使用选择器时,它会返回所有消息。
我做错了什么?如何使用 XPath 选择器?
最佳答案
我在 activemq 类路径中没有 xalan.jar。问题解决了。谢谢
关于java - 无法在 ActiveMQ 使用者中使用 XPath 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20045024/