2017-03-29 1 views
4

でメッセージを表示するにjava.lang.ClassNotFoundExceptionながら、私は、ActiveMQのキューにキューイングされているメッセージの内容を見てみたいです。 は、私は(http://localhost:8161/admin/queues.jsp)。ウェブコンソールを開き、キューのメッセージのメッセージIDをクリック。それはメッセージの内容を与えるのではなく、「メッセージの詳細」ウィンドウで次のエラーを表示します。この原因は何シリアライズクラス:ActiveMQの

": にjava.lang.ClassNotFoundException:javax.jms.JMSException:ブローカー理由で利用できないコンテンツから体を構築するために失敗しました シリアライズクラス"例外&私はこれを取り除くために何をする必要がありますか?

+0

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

答えて

1

私はそれはActiveMQのコンソールが、それはクラスが含まれているjarファイルへのアクセス権を持っていなければならないメッセージをアンシリアライズできなかった、red herringだった私の場合はActiveMQのバージョン5.8.0

を使用して、この同じエラーを見てきましたコンシューマアプリケーションは実行し、メッセージはキューからコンシューマに渡されます。

は、私が(コンソールにメッセージを表示する)ここでの問題への解決策があるかどうかを確認するために興味があると思い、これはActiveMQのの最近のバージョンで扱われているにもか。

+3

理由は次のとおりです。カスタムクラスがありませんアクティブなmqブローカーのクラスパス。 "ActiveMQ \ bin \ win64 \ wrapper.conf"ファイルに次の行を追加することで、ブローカのクラスパスにカスタムクラスを追加できます。 ** wrapper.java.classpath.3 = <カスタムクラスの瓶含むJARのパス> ** (パスはカスタム瓶を持つ何もすることができます) – OwlR

+0

ありがとうhyrahul64、それは一つの良いソリューションです。他のオプションには、すべてのメッセージをjsonスタイルのメッセージにすることが含まれますが、カスタムクラスを追加することをお勧めします。 – chim