簡體   English   中英

Apache ActiveMQ / TomEE幫助:如何配置嵌入式代理進行存儲和轉發?

[英]Apache ActiveMQ/TomEE help: How do I configure embedded brokers to store-and-forward?

我們有兩個准備部署的JEE6應用程序。 該應用程序的一部分將使雲耗盡,並向JMS Queue生成消息。 該應用程序的另一半將在我們的服務器上運行,並使用來自JMS隊列的消息。 該應用程序的兩個部分都作為獨立的戰爭運行,並部署到Apache TomEE 1.6(真棒),並使用最新的JEE和CDI規范編寫。

消息持久性是我們主要關心的問題,但是我們願意假設雲應用程序將具有100%的正常運行時間並手動處理異常情況。 由於我們正在改進本地應用程序的設計並進行大量更改,因此該本地應用程序將經常重新啟動。

閱讀ActiveMQ文檔后,我很確定我們想要的是一種存儲轉發架構。 他們的文檔有些晦澀的地方是http://activemq.apache.org/vm-transport-reference.html屬性如何轉換為創建這種架構。

最后的挑戰是本地經紀人需要非常快。 它不僅會消耗遠程隊列中的消息,而且還會在本地寫入和讀取多個隊列。 幸運的是,不需要在本地任何地方使用在本地代理上生成的任何隊列。 但是,消息必須持久。 ...如果我能做到這一點,我需要弄清楚如何運行雙向SSL!

TLDR有兩件事:使我入門的示例URL配置,或者有關ActiveMQ中哪些選項的建議比我上面所說的要好。 謝謝!

經過8個小時的艱苦實驗,事實證明這並不困難。 它只是記錄在案或非常明確...而且我在引起各種問題的主機之一上啟用了ipv6。

在“雲”服務器上,您將使用此

<Resource
    id="MyJmsResourceAdapter"
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig = broker:(tcp://0.0.0.0:61617,network:static:tcp://ground.server.com:61617)?persistent=false
    ServerUrl = vm://localhost 
</Resource>

在您的“地面”服務器上,

<Resource
    id="MyJmsResourceAdapter"
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig = broker:(tcp://0.0.0.0:61617,network:static:tcp://cloud.server.com:61617)?persistent=false
    ServerUrl = vm://localhost 
</Resource>

最后,在Apache TomEE的JAVA_OPTS中禁用ipv6。 您可以通過在bin /中創建setenv.sh並放置以下內容來做到這一點:

export JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"

現在...找出SSL。 希望這對某人有幫助!

暫無
暫無

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

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