0

我正在尝试将 ActiveMQ 5 附带的示例代理与部署在 JBoss 5.1 AS 上的 MDB 一起使用。

我已将 activemq rar 部署到部署目录。我已经部署了 activemq-jms-ds.xml 来部署/消息传递,它定义了我的连接工厂。我让代理在 localhost:61616 上运行,如 connectionfactory 配置中所定义。

但是当我尝试将我的 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 打包在一起。请注意,在查看论坛之前搜索 jboss 文档至少 3 小时后,我没有看到提到的@ResourceAdapter!我希望这可以为我节省很多头痛。

于 2010-08-24T06:33:58.690 回答
1

遇到这个问题的任何人都可能想查看这篇文章。所以,就这么简单。没有数据源文件,没有配置 ra.xml。

于 2010-09-02T11:35:39.800 回答