有没有办法在从 JMS 队列中使用 JMS 消息时获得通知?像监听器或通知?
谢谢
我假设您正在使用 ActiveMQ,因为您用它标记了问题。
您可以在客户端使用消息时注册咨询通知。请参阅文档以获取建议,而您正在寻找的是ActiveMQ.Advisory.MessageConsumed.Queue。
===== 更新 =====
哦,错误..您使用的是 Joram,而不是 ActiveMQ。这并不简单,但您可以使用客户端拦截器,它将确认消息返回到队列或主题,然后您将监听该消息。界面如下所示:
public interface MessageInterceptor {
public void handle(javax.jms.Message pMessage, javax.jms.Session pSession);
}
见第 3.5 章。最新Joram doc PDF的消息拦截器。
您还可以使用interceptor_out服务器端拦截器。
不,JMS API 不提供消息传递通知选项的任何方式。这必须在应用程序级别完成。