Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
每次将消息发送到队列时创建以下对象的开销是多少?对象:javax.jms.Connection, javax.jms.Session,javax.jms.MessageProducer
javax.jms.Connection
javax.jms.Session
javax.jms.MessageProducer
在我的代码中,每当我想发送消息时,我都会创建以上 3 个对象。
我知道只创建一次对象并使用它是件好事,但连接/会话在服务器故障转移后进入IllegalState 。我connectionFactory能够重新连接,但无法刷新连接/会话对象。
connectionFactory
有人可以解释一下开销吗?
https://developer.jboss.org/wiki/ShouldICacheJMSConnectionsAndJMSSessions
高性能 JMS 消息传递
:)
每次创建与消息传递提供者的连接和会话总是代价高昂的事情。每次请求连接时,底层消息传递库都必须创建到消息传递提供者的套接字连接,传递一些握手数据并建立可以发送消息的通道。发送消息后,连接关闭还需要发送一些消息提供程序特定的数据以正常关闭连接。
您可以通过运行一些测试来量化开销,每次都创建和不创建连接/会话。但是上面的解释暗示了创建/关闭连接所涉及的内容。