【发布时间】:2019-04-03 16:15:08
【问题描述】:
最近几天我一直在浏览论坛并尝试了几乎所有我能找到的东西,但没有任何运气。
情况是:在我们的 Java Web 应用程序中,我们有 ActiveMQ 5.7(我知道它已经很老了,最终我们会升级到更新的版本 - 但由于某些原因,现在还不可能)。我们只有一个经纪人和多个消费者。
当我启动服务器时(我尝试为 2、3、4 台和更多服务器这样做)一切正常。服务器相互通信,QUEUE 消息立即被消费。但是,当我让服务器闲置时(例如,终于睡了一会儿;)),情况就不再如此了。消息被卡在数据库中并且没有被消费。交付它们的唯一选择是重新启动服务器。
我的部分配置(我们将其保存在属性文件中,这是实际状态,但是我尝试了许多不同的组合):
BrokerServiceURI=broker:(tcp://0.0.0.0:{0})/{1}?persistent=true&useJmx=false&populateJMSXUserID=false&useShutdownHook=false&deleteAllMessagesOnStartup=false&enableStatistics=true
ConnectionFactoryURI=failover://({0})?initialReconnectDelay=100&timeout=6000
ConnectionFactoryServerURI=tcp://{0}:{1}?keepAlive=true&soTimeout=100&wireFormat.cacheEnabled=false&wireFormat.tightEncodingEnabled=false&wireFormat.maxInactivityDuration=0
BrokerService.startAsync=true
BrokerService.networkConnectorStartAsync=true
BrokerService.keepDurableSubsActive=false
你有线索吗?
【问题讨论】: