【问题标题】:Message send timeout for producer sending message to ActiveMQ broker生产者向 ActiveMQ 代理发送消息的消息发送超时
【发布时间】:2015-03-19 14:11:54
【问题描述】:

有没有办法设置向代理发送消息的超时时间。

我想向 ActiveMQ 代理发送大消息,但我不希望它永远持续下去,所以我打算在发送消息时设置超时。

【问题讨论】:

  • 您可以尝试为消息设置“生存时间”

标签: jms activemq


【解决方案1】:

您可以在连接代理时在 URI 中设置connection.sendTimeout=some ms

sendTimeout 的官方文档说

  • 等待消息发送响应的时间,默认值为零 表示永远等待。永远等待让经纪人拥有 对来自该客户端的消息进行流控制(如果它是快速的) 生产者或没有消费者,这样经纪人就会用完 如果它没有减慢生产者的速度,内存。不影响踩踏 作为发送的客户端由代理确认。 (由于 ActiveMQ-CPP 2.2.1)

这里是文档https://activemq.apache.org/components/cms/configuring

希望这会有所帮助!

祝你好运!

【讨论】:

  • 连接是什么类?那是从哪里来的?我在任何地方都找不到任何 setTimeout 方法
  • 最近版本好像变了变量名,需要使用connection.sendTimeout,可以这样使用 new ActiveMQConnectionFactory( "failover://(tcp://localhost:61616) ?connection.sendTimeout=20");基本上它是连接URI的一部分,它不是一个方法
猜你喜欢
  • 1970-01-01
  • 2017-01-28
  • 2019-05-20
  • 2020-12-09
  • 2014-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
相关资源
最近更新 更多