2017-09-01 162 views
1

說明: 我有一個消費者和生產者,當我從消費者端向JMS(ARTEMIS)推送消息時,如果artemis宕機 ,那麼我的消息不被artemis接受。如何在artemis關閉時從生產者那裏獲取消息?

這意味着,當我打開我的artemis消息是不存在他們丟失在artemis隊列bcz。

我想知道是否有任何配置(如緩衝區),我們可以在消費者端的context.xml中設置,以便我們保存被推送的消息,同時artemis仍然回到正軌。

此刻我有參數。

consumerWindowSize = 1024000000 bytes 
producerWindowSize = 102400000 bytes 
maxRetryInterval = 1000000 ms 
setCallFailoverTimeout = 50000ms 

展望未來。請幫忙。

+0

您可以創建ARTEMIS經紀人主從集羣所以如果主人會往下走,然後從將您的客戶端消息照顧,直到主人也不會醒 –

回答

3

Artemis JMS客戶端不提供任何客戶端消息緩衝。你將不得不自己實現或者使用其他第三方庫來實現這一點。

你可能運行本地阿蒂米斯實例,並使用橋樑或IT網絡的正常遠程使得本土券商繼續,而遠程代理下降到接收消息。

+0

我明白了,你的意思是說,有沒有辦法使用任何配置放在客戶端,所以我們可以有一些緩衝區。興奮。 – addytheriot

+0

所以我們可能需要編寫一個程序,其中本地代理與我們的現實阿蒂米斯實例的橋,所以當下來,買回來了它可以接受來自本地實例的消息。 – addytheriot

+0

你對橋樑有什麼建議,比如什麼類型的橋樑?如果你能解釋一點,那真的很有幫助。 – addytheriot

相關問題