2017-04-17 71 views
0

我已經開始了和ActiveMQ和能前進,但我無法弄清楚如何我可以查看發送到特定的所有消息隊列。如何探索一條ApacheMQ隊列,查看發送給它的所有消息

我可以在隊列中,只要它不被消費者食用,但只要它是由消費者消費,我再也看不到在隊列中的消息,看到該消息。

在我的項目中,我曾經使用「MQJ Explorer」並連接到一個隊列管理器,在那裏我可以查看所有發送到特定隊列的消息,所以我期待着與ActiveMQ類似的事情。

我知道在發送我能有消息標記爲「永久」,但它仍然會在那裏在隊列中唯一的,直到它不消耗,一旦被消耗我看不到它了。

請讓我知道如果事情ActiveMQ的工作方式不同。

enter image description here

回答

1

直到它們在它們被丟棄該點所消耗的隊列保存消息。所以你不能瀏覽所有發送到隊列然後被使用的消息。唯一的解決方法是使用Camel路由或類似的方式將隊列鏡像到其他審計類型隊列,但是您需要非常小心,因爲這可能會導致填充消息存儲庫,因爲鏡像消息將會除非定期清除,否則將繼續增長並佔用空間。

+0

好,但再怎麼進來的項目中,我能看到,我不知道是什麼樣的MOM實現它,但你知道,如果有可能,像Weblogic的MQ提供一些實現支持這個功能嗎?我的意思是,這是可能的或唯一的方法來實現這一點是你提到的方式? – hagrawal

+0

我不能說其他實現,ActiveMQ不保留隊列數據的歷史視圖。消息代理不是數據庫,消息來來去去。 –

+0

我做更多的研究一下,我想這是所有MOM實現,不能查看郵件取出的,如果真的需要,那麼你可以有專門用於只讀目的另一個隊列的整體行爲。 – hagrawal