我已使用Servlet将消息发送到JMS队列;
并且该队列有消息监听器
但我没有在任何地方使用这些消息;
但是当我使用WebLogic管理控制台检查队列中的消息时;它没有显示任何消息,尽管它表示总共有20条消息
请告诉我如何将已发送的消息保存在JMS队列中?
任何指导或建议都会非常值得注意。
谢谢!
答案 0 :(得分:0)
我不是WebLogic专家,但一般来说:
消息由JMS提供程序保存,直到消耗完为止。因此,您无需执行任何操作即可将这些消息保存在JMS队列中。
消息侦听器可能已经使用了这些消息,并且管理控制台显示“已处理的消息总数”而不是当前可用的消息?
<强>更新强>
发送持久消息的示例。将DeliverMode设置为PERSISTENT。使用此生产者发送的所有消息都将是Persistent。
// Create the destination (Topic or Queue)
Destination destination = session.createQueue("TESTQ");
// Create a MessageProducer from the Session to the Topic or Queue
MessageProducer producer = session.createProducer(destination);
// We want persistent messages
producer.setDeliveryMode(DeliveryMode.PERSISTENT);