Session 带有消息侦听器的JMS会话池

Session 带有消息侦听器的JMS会话池,session,jms,message-listener,Session,Jms,Message Listener,关于这个问题(),我目前正试图在我先前创建的连接池的基础上构建一个会话池 我已经设法创建了一个JMS连接池,当我与生产者和消费者一起运行它时,它们工作得很好。消费者向消息侦听器注册以从MQ检索消息 但是,当我实现会话池时,消息侦听器停止工作。生产者可以毫无问题地发送消息,但消息侦听器从未触发 以下代码是jmsessionobjectfactory中的create代码: Connection connection = Application.getInstance().getConnectionP

关于这个问题(),我目前正试图在我先前创建的连接池的基础上构建一个会话池

我已经设法创建了一个JMS连接池,当我与生产者和消费者一起运行它时,它们工作得很好。消费者向消息侦听器注册以从MQ检索消息

但是,当我实现会话池时,消息侦听器停止工作。生产者可以毫无问题地发送消息,但消息侦听器从未触发

以下代码是
jmsessionobjectfactory
中的
create
代码:

Connection connection = Application.getInstance().getConnectionPool().borrowObject();
Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
Application.getInstance().getConnectionPool().returnObject(connection);
这是实现会话工厂创建的正确方法吗?或者我的会话池与连接池的概念是错误的


谢谢你的建议。谢谢。

您是在应用服务器上运行还是以独立方式运行?什么JMS impl?这是作为独立应用程序运行的。应用程序正在侦听端口以接收信息并通过JMS生产者将其发送到IBM MQ,同时还向
MessageListener
注册消费者以从MQpost some代码检索消息,否则,除了您的描述之外,无法知道您在做什么。顺便说一句,JMS连接是线程安全的,