簡體   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