我們有一個JEE6應用程序內置在Apache TomEE v1.6.0 +。有兩部分,雲部分和地面部分。雲部分旨在永遠不會重新啓動,因爲它監視瞬態信息源,但創建JMS消息並將它們發送給它的代理。如何讓activemq真正可靠?當經紀人斷開信息丟失
地面部分旨在白天可以重新啓動,並且是複雜的處理邏輯。它也有一個經紀人連接到雲代理。
我們遇到的問題是,如果我們將TomEE的地面實例擱置超過幾分鐘,然後重新啓動它,雲代理將不會傳遞堆疊的所有消息。此外,它也不傳遞任何新消息,迫使我們重新啓動它,這使我們失去了我們的信息。
下面是兩個連接URI ......我們究竟做錯了什麼?
雲:
<Resource
id="ActiveMQResourceAdapter"
type="ActiveMQResourceAdapter">
BrokerXmlConfig = broker:(ssl://0.0.0.0:61617?needClientAuth=true&transport.keepAlive=true&transport.soTimeout=30000,vm://localhost,network:static:(failover:(ssl://ground.somedomain.com:61617?keepAlive=true&soTimeout=30000)))?persistent=true
ServerUrl = vm://localhost
DataSource = jdbc/activemq
</Resource>
地面:
<Resource
id="ActiveMQResourceAdapter"
type="ActiveMQResourceAdapter">
BrokerXmlConfig = broker:(ssl://0.0.0.0:61617?needClientAuth=true&transport.keepAlive=true&transport.soTimeout=30000,vm://localhost,network:static:(failover:(ssl://cloud.somedomain.com:61617?keepAlive=true&soTimeout=30000)))?persistent=true
ServerUrl = vm://localhost
DataSource = jdbc/activemq
</Resource>
任何幫助深表感謝。非常感謝你!!
請同時發佈您的activemq.xml – Leo