2017-03-29 45 views
4

我想查看已在ActiveMQ隊列中排隊的消息的內容。 我打開網頁控制檯(http://localhost:8161/admin/queues.jsp),點擊隊列消息的message-id。它使我在「消息詳細信息」窗口中出現錯誤,而不是提供消息內容。不可用於代理的可序列化類:在ActiveMQ中查看消息時發生java.lang.ClassNotFoundException

「的javax.jms.JMSException:無法從內容構建體 Serializable類不提供給經紀人原因: 拋出java.lang.ClassNotFoundException:」

這樣做有什麼原因例外&我需要做些什麼來擺脫這種情況?

+0

看看http://codeomitted.com/failed-to-build-body-from-content-serializable-class-not-available-to-broker/ – Vihar

回答

1

我一直在使用ActiveMQ的版本5.8.0

在我的情況下看到同樣的錯誤,這是一個red herring,在ActiveMQ的控制檯無法反序列化一定不能訪問這個類是在罐子裏的消息,但消費者應用程序的確如此,並且消息從隊列傳遞給消費者而沒有問題。

我很想看看這裏是否有解決方案(查看控制檯中的消息),以及如何在更新版本的ActiveMQ中處理這個問題。

+3

原因是:自定義類不在活動mq代理的類路徑。 我們可以通過在「ActiveMQ \ bin \ win64 \ wrapper.conf」文件中添加以下內容來將自定義類添加到代理的類路徑。 ** wrapper.java.classpath.3 = <包含自定義類jar的jar的路徑> ** (路徑可以是任何具有自定義jar的東西) – OwlR

+0

感謝hyrahul64,這是一個很好的解決方案。其他選項將涉及到所有消息json樣式消息,但我認爲我更願意添加自定義類,即使我猜它確實會增加維護問題。 – chim

相關問題