繁体   English   中英

Spring DSL Solace集成:如何设置每次轮询的最大消息数

[英]Spring DSL Solace Integration: How to set max message per poll

我正在使用spring,dsl,solace与spring boot集成。 我的一个订阅者应用程序能够每秒轮询约80条消息,而4个订阅者每秒可以轮询约125条消息。 我想每秒至少处理500条消息。 我的JMS流程如下所述-

    public @Bean IntegrationFlow defaultJmsFlow()
{
    return IntegrationFlows.from(

            //read JMS topic
            Jms.messageDrivenChannelAdapter(this.connectionFactory).destination(this.config.getInputQueueName()).errorChannel(errorChannel()).configureListenerContainer(c ->
            {
                final DefaultMessageListenerContainer container = c.get();
                container.setSessionTransacted(true);
                container.setMaxConcurrentConsumers(10);
                container.setConcurrentConsumers(4);
            }).get())

            .channel(messageProcessingChannel()).get();
}

阅读消息后,我会将其发送到DirectChannel。 需要进行任何特殊的配置来提高我的应用程序的性能,以便每秒至少处理500条消息。

将Spring JMS与Solace集成时,强烈建议缓存使用者。 这样,连接保持持久,并且消息将快速传递给使用者,而不会产生解除绑定,断开连接和重新连接的开销。 可以在defaultMessageListenerContainer中使用container.setCacheLevel(3)进行设置。

如果使用并发使用者从同一Solace队列中读取消息,请确保Solace队列是非独占的。 排他队列将消息传递给一个活动的使用者,而非排他队列将消息循环传递给所有使用者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM