java - 是否可以在没有 QueueConnectionFactory 的情况下从 WAS JNDI 获取 JMS 队列引用?

标签 java jms websphere ibm-mq spring-jms

我正在开发一个项目,需要使用来自 IBM MQ 的 JMS 消息,该消息在 websphere 中定义为 JNDI。

我只给出了队列的 JNDI (jms/sampleQ)。我正在尝试从 Spring JMS 连接队列。

这里我的问题是,QueueConnectionFactory是否是连接队列(JNDI)所必需的?

最佳答案

要从 JNDI 获取 javax.jms.Queue 对象,您不需要拥有 QueueConnectionFactory 对象。它们是从 JNDI 查找的独立对象。

但是,要实际发送或接收消息,您需要组合 JMS 队列和 JMS QueueConnectionFactory。 JNDI 中的 JMS 队列可以与 MQ QueueConnectionFactory 一起使用,无论您如何获取它,因此不需要从 WAS JNDI 命名空间中获取它,但如果您没有从 WAS JNDI 获取 QueueConnectionFactory,那么您将无法从 WAS JNDI 中获取 QueueConnectionFactory。将与某些服务器功能(如事务管理器)松散集成。 Spring 可以从 JNDI 中选择 QueueConnectionFactory 作为一个选项。

关于java - 是否可以在没有 QueueConnectionFactory 的情况下从 WAS JNDI 获取 JMS 队列引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41575336/

相关文章:

java - *** 多个目标模式。停止

Python 面向消息的中间件(即 Python 的 JMS)

java - 事务生产者 session 的确认模式

java - 我可以将 MongoDB 用于 ActiveMQ 主/从架构吗?

java - EJB 模块中使用实体时出现实体未映射异常

java - 使用指向除下一个节点之外的随机节点的指针复制 LinkedList

JavaFX:在单独的非 Controller 类中更新 UI

java - 由于子对象仍处于打开状态,因此无法重新关联连接

java - log4j2查找websphere环境变量

jms - Websphere 6.1 到 7.0 缺少 JmqiObject 和 JmsQueue