【问题标题】:JMS Connection OverheadJMS 连接开销
【发布时间】:2014-09-02 15:11:31
【问题描述】:

每次将消息发送到队列时创建以下对象的开销是多少? 对象:javax.jms.Connectionjavax.jms.Sessionjavax.jms.MessageProducer

在我的代码中,每当我想发送消息时,我都会创建以上 3 个对象。

我知道只创建一次对象并使用它是很好的,但连接/会话在服务器故障转移后进入 IllegalState。我的connectionFactory 能够重新连接,但无法刷新连接/会话对象。

有人可以解释一下开销吗?

【问题讨论】:

    标签: java jms tibco-ems


    【解决方案1】:
    【解决方案2】:

    每次都创建与消息传递提供者的连接和会话总是一件代价高昂的事情。每次请求连接时,底层消息传递库都必须创建到消息传递提供者的套接字连接,传递一些握手数据并建立可以发送消息的通道。发送消息后,连接关闭还需要发送一些消息提供程序特定的数据以正常关闭连接。

    您可以通过运行一些测试来量化开销,每次都创建和不创建连接/会话。但是上面的解释暗示了创建/关闭连接所涉及的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-08
      • 2016-03-01
      • 2015-05-04
      • 2010-11-12
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多