0

JBoss 5.1 AS にデプロイされた MDB で ActiveMQ 5 に付属するサンプル ブローカーを使用しようとしています。

deploy ディレクトリに activemq rar をデプロイしました。接続ファクトリーを定義する deploy/messaging に activemq-jms-ds.xml をデプロイしました。connectionfactory 構成で定義されているように、localhost:61616 でブローカーを実行しています。

しかし、MDB を jboss にデプロイしようとすると、このエラーが発生します。

21:40:17,328 ERROR [JmsActivation] Unable to reconnect  org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@1332207(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter@14e7167 destination=MATT.TEST destinationType=javax.jms.Queue tx=true durable=false reconnect=10 provider=java:/DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=5)
javax.naming.NameNotFoundException: MATT.TEST not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:771)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:779)
at org.jnp.server.NamingServer.getObject(NamingServer.java:785)
at org.jnp.server.NamingServer.lookup(NamingServer.java:443)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:726)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at org.jboss.util.naming.Util.lookup(Util.java:222)
at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:464)
at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:352)
at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:292)
at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:733)
at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:205)
at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

メッセージをキューに配置するクライアントを定義したくないので、今のところ標準ブローカーを使用することにしました。サンプル ブローカーに付属の Web コンソールを使用することを好みます。何が問題なのかわからないように見えるので、私が見逃しているものはありますか。

注: ActiveMQ Jboss セットアップ ガイドを試してみましたが、ActiveMQ 4 には古すぎるのではないかと心配しています。

4

2 に答える 2

1

このフォーラムの投稿に答えが埋もれているのを見つけました。

上記のチュートリアルに従った後、クラス定義の直前の @MessageDriven 列挙の外側の MDB クラスの先頭に @ResourceAdapter("your-activemq-rar-name.rar") を追加する必要があります。これにより、デプロイヤは、ActiveMQ リソース アダプタを EJB と一緒にパッケージ化するように指示されます。フォーラムを見る前に少なくとも 3 時間 jboss のドキュメントを検索した後、@ResourceAdapter が言及されているのを見たことがないことに注意してください。これにより、私が抱えていた多くの頭痛の種が救われることを願っています。

于 2010-08-24T06:33:58.690 に答える
1

この問題で立ち往生している方は、この投稿を確認してください。とてもシンプルです。データ ソース ファイルも、構成済みの ra.xml もありません。

于 2010-09-02T11:35:39.800 に答える