【问题标题】:Is it possible for DefaultMessageListenerContainer to create n number of JMS sessions each from a different JMS connectionsDefaultMessageListenerContainer 是否可以从不同的 JMS 连接创建 n 个 JMS 会话
【发布时间】:2014-11-12 13:16:36
【问题描述】:

我已经使用 javax.jms.MessageListener 的实现设置了我的 DefaultMessageListenerContainer。

我使用连接到缓存连接工厂的 MQQueueConnectionFactory。已在 DefaultMessageListenerContainer 中将 cacheconsumers 设置为 true,并将 sessionCacheSize 设置为等于并发消费者的数量。

我看到,当 concurrentconsumers 设置为 10 时,会从单个 JMS 连接创建十个 JMS 会话。有没有办法从 10 个不同的 JMS 连接创建 JMS 会话?

请指教。

【问题讨论】:

    标签: spring-jms


    【解决方案1】:

    在使用缓存连接工厂时不是,它是SingleConnectionFactory的子类;如果您想要单独的连接,请直接使用供应商连接工厂。为什么您仍然想要/需要单独的连接?

    通常不需要将 CCF 与侦听器容器一起使用,因为会话是长期存在的,并且无论如何,如果您使用可变并发,缓存消费者可能会导致问题。

    请参阅this answer 以获得更详细的说明。

    【讨论】:

    • 我使用 Spring 集成,正如我在 stackoverflow.com/questions/26671299/… 中所解释的那样。今天,我测量了 IBM MQ jms 实现和我的新的 Spring Integration for IBM MQ 实现之间的性能。差异看起来很大,我需要在 Spring 集成中提高我的应用程序的性能。我认为这可能有助于提高性能。你能建议吗?
    猜你喜欢
    • 2010-09-21
    • 2017-07-17
    • 2021-06-16
    • 2021-05-23
    • 2012-07-03
    • 1970-01-01
    • 2016-05-10
    • 2016-09-26
    • 1970-01-01
    相关资源
    最近更新 更多