【发布时间】:2018-09-13 07:20:11
【问题描述】:
我有一个需要与 ActiveMQ 集成的 JBoss 4.2.3 应用程序服务器(实际上是围绕 ActiveMQ 5.15.0 的 AWS MQ)。这是一个非常古老的 JBoss 版本,我能够让我的应用程序使用 Java 8,这是最新的 ActiveMQ 所需要的(我相信它是 Java 7+)。
需要替换嵌入式 JBossMQ 并使用更新且有效的消息代理(JBossMQ 有很多问题)。我配置了那个activemq-ra.rar,放到jboss/server/default/deploy/jms目录下。
但是,在启动时,一个“空”的 JBoss(没有自定义 WAR 或 EAR 应用程序),我得到:
--- MBeans waiting for other MBeans ---
ObjectName: jboss.jca:service=ManagedConnectionFactory,name=JmsXA
State: FAILED
Reason: org.jboss.deployment.DeploymentException: couldn't get
oldRarDeployment!
jboss.jca:service=RARDeployment,name='activemq.rar'; - nested
throwable: (org.jboss.deployment.DeploymentException:
ConnectionDefinition
'org.apache.activemq.ra.ActiveMQManagedConnectionFactory' not found
in rar 'activemq.rar')
I Depend On:
jboss.jca:service=RARDeployment,name='activemq.rar'
Depends On Me:
jboss.jca:service=ManagedConnectionPool,name=JmsXA
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: jboss.jca:service=ManagedConnectionFactory,name=JmsXA
State: FAILED
Reason: org.jboss.deployment.DeploymentException: couldn't get
oldRarDeployment!
jboss.jca:service=RARDeployment,name='activemq.rar'; - nested
throwable: (org.jboss.deployment.DeploymentException:
ConnectionDefinition
'org.apache.activemq.ra.ActiveMQManagedConnectionFactory' not found
in rar 'activemq.rar')
I Depend On:
jboss.jca:service=RARDeployment,name='activemq.rar'
Depends On Me:
jboss.jca:service=ManagedConnectionPool,name=JmsXA
我提取了 RAR 文件的内容,我确实看到了 activemq-ra-5.15.0.jar,在提取后确实包含类 org.apache.activemq.ra.ActiveMQManagedConnectionFactory。
我错过了什么吗?
【问题讨论】:
-
你没有提到它,所以我认为有必要问问你是否已经阅读过关于这个主题的 ActiveMQ 教程 - activemq.apache.org/jboss-integration.html。
-
是的,虽然我使用的是更新版本的 ActiveMQ 和 JBoss,而不是嵌入式容器 - 不同服务器上的独立 ActiveMQ 实例。