JMS QueueConnectionFactory与ConnectionFactory

bvd*_*vdb 5 java jndi jms mq

我的问题是关于使用以下两家工厂:

  • 连接工厂
  • 的QueueConnectionFactory

目前我只是使用a ConnectionFactory初始化所有内容:

Connection conn = factory.createConnection(user, pw);
Session session = conn.createSession()
Destination dest = session.createQueue('xyz')
...
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,QueueConnectionFactory工作方式几乎相同.这是完全一样的吗?

我特别想知道因为我正在使用包含两个对象的JNDI上下文.所以,我不确定我应该选择哪一个.

Evg*_*eev 9

javax.jms包API说:

由于历史原因,JMS提供了四组用于发送和接收消息的备用接口:

•JMS 1.0定义了两个特定于域的API,一个用于点对点消息传递(队列),另一个用于pub/sub(主题).虽然由于向后兼容性,这些仍然是JMS的一部分,但它们应被视为完全被后来的API取代.

•JMS 1.1引入了一个新的统一API,它提供了一组可用于点对点和发布/订阅消息传递的接口.这在这里被称为经典API.

•JMS 2.0引入了一个简化的API,它提供了经典API的所有功能,但需要的接口更少,使用更简单.

每个API都提供了一组不同的接口,用于连接到JMS提供程序以及发送和接收消息.但是,它们共享一组通用接口,用于表示消息和消息目标,并提供各种实用程序功能.

换句话说,QueueConnectionFactory只是一个遗留接口