簡體   English   中英

Camel JMS SQS 長輪詢

[英]Camel JMS SQS long polling

目前使用駱駝 JMS 並讓它監聽 SQS 中的隊列。 我正在嘗試減少空接收的數量。 目前每分鍾有 3 個,希望減少到 1 個。

我的 bean 代碼如下所示:

@Bean(name = "jms")
@ConditionalOnClass(JmsComponent.class)
public JmsComponent jmsComponent(SQSConnectionFactory sqsConnectionFactory) {
    JmsComponent jmsComponent = new JmsComponent();
    jmsComponent.setConnectionFactory(sqsConnectionFactory);
    return jmsComponent;
}

我嘗試了以下方法:

  • 將隊列中的接收消息等待時間設置為 20 秒
  • jmsComponent 的 setRequestTimeout 為 60 秒
  • jmsComponent 的 setReceiveTimeout 為 60 秒

完成上述操作后,我仍然可以看到每分鍾 3 次空讀取。

SQS 方面有 20 秒的等待時間限制,所以這可能是不可能的。

當 ReceiveMessage API 操作的等待時間大於 0 時,長輪詢生效。 最長輪詢等待時間為 20 秒。

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/working-with-messages.html#setting-up-long-polling

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM