当生产者使用来自上游消息驱动的通道适配器的会话时,如何在出站通道适配器中缓存生产者



我设计了以下消息流

            1) message-driven-channel-adapter -> 
                     1.1) service-activator -> outbound-channel-adapter (for sending response)
                     1.2) in a chain - transformer -> outbound-channel-adapter (for sending error)

消息驱动的通道适配器从webspheremq中拾取消息,并使用DefaultMessageListenercontainer进行配置。出站通道适配器将消息发送到webspheremq,并为此配置了JMS模板。

问题是,性能看起来很低。我在消息驱动的通道适配器上使用了cache_consumer和acknowledge="transactioned。我不觉得消息驱动的信道适配器会有问题。我觉得性能问题是由于出站通道适配器中使用了jmstemplate,因为每次它都会从消息驱动的渠道适配器下游提供的会话创建生产者。

有没有办法缓存jmstemplate使用的生产者。有人能告诉我怎样才能提高表现吗?

如果使用CachingConnectionFactory,则默认情况下会在连接工厂中缓存生产者。注意:如果在入站适配器中使用可变并发,请确保在连接工厂中将cacheConsumers设置为false;我们不希望消费者缓存在那里(在容器中也可以)。

相关内容

最新更新