我正在开发一个项目,我需要从IBM MQ中使用JMS消息,该消息在websphere中定义为JNDI。
我只给出了队列的JNDI(jms / sampleQ)。我正在尝试从Spring JMS连接Queue。
我的问题是,QueueConnectionFactory是否必须连接队列(JNDI)?
答案 0 :(得分:2)
要从JNDI获取javax.jms.Queue对象,您不需要拥有QueueConnectionFactory对象。它们是从JNDI查找的独立对象。
但是,要实际发送或接收消息,您需要组合JMS队列和JMS QueueConnectionFactory。 JNDI中的JMS队列可以与MQ QueueConnectionFactory一起使用,无论你如何掌握它,因此不需要从WAS JNDI名称空间中获取它,但是如果你没有从WAS JNDI获取QueueConnectionFactory,那么' ll松散与某些服务器功能(如事务管理器)的集成。 Spring可以从JNDI中选择QueueConnectionFactory作为选项。