带有ActiveMQ RAR的JBOSS EAP 7.0不起作用?

时间:2016-07-21 20:46:48

标签: jboss jms rar jboss-eap-7

我有一场在EAP 6.4.x下工作得很好的战争(x现在是8,但是在6和4之下,依此类推到6.4.0)。

WAR具有一些简单的JMS客户端功能,可以将消息添加到远程计算机上的队列中。目标QBroker是ActiveMQ 5.8.0。

我使用5.8.0 RAR设置到远程代理的适配器/连接器,然后只是普通的JMS客户端东西将消息推送到q。一切都很好。

开始"端口"从6.4.x到7.0.1;我挂了amq 5.8.0 RAR的东西。对于初学者 - 不会使用任何属于EAP 7(尚未)的AMQ Artemis内容。最初我想让我的WAR工作在7.0以下,尽可能少的更改 - 所以留下RAR很重要。

在6.4.x下,我使用独立配置文件,只需通过CLI部署RAR,如下所示:

./jboss-cli.sh --connect -c "deploy --name=${AMQ_DEPLOY_NAME} --runtime-name=${AMQ_RAR_FNAME} ${_TMPDIR}/${AMQ_RAR_FNAME}"

然后我使用cli为队列设置资源适配器,连接def / factory和admin-object。

使用EAP 7.0.1执行相同的过程,如果我使用独立配置文件,我会

java.lang.NoClassDefFoundError: javax/jms/JMSException
尝试启用使用RAR的WAR时出现

问题。好的,当我使用standalone-full时,我得到了这种错误的各种变体:

2016-07-18 15:48:10,867 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
    ("subsystem" => "messaging-activemq"),
    ("server" => "default")
]) - failure description: {
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.messaging-activemq.default is missing [jboss.http-upgrade-registry.default]"],
    "WFLYCTL0288: One or more services were unable to start due to one or more indirect dependencies not being available." => {
        "Services that were unable to start:" => ["jboss.messaging-activemq.default.jms.manager"],
        "Services that may be the cause:" => [
            "jboss.http-upgrade-registry.default",
            "jboss.naming.context.java.JmsXA"
        ]
    }
}

以上消息表明messaging-activemq内容(或内置的artemis内容)存在问题。

在这两种情况下,我都将EJB默认资源适配器设置为上面创建的RAR。

那么我在这个设置中缺少什么?

关于我的环境的一些细节:

战争中没有任何jboss / wildfly特定的DD。

我没有将AMQ RAR部署为静态模块(我也不想) - 它只是我部署的jar - 就像其他JAR(用于DB驱动程序)或WARS,EJB jars等一样。 / p>

cat version.txt 红帽JBoss企业应用程序平台 - 版本7.0.1.GA

java -version java版" 1.8.0_92" Java(TM)SE运行时环境(版本1.8.0_92-b14) Java HotSpot(TM)64位服务器VM(版本25.92-b14,混合模式)

uname -a Linux wellandf3 4.6.4-301.fc24.x86_64#1 SMP Tue 7月12日11:50:00 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux

1 个答案:

答案 0 :(得分:0)

这是由ClassNotFoundException引起的NoClassDefFoundError吗?如果是这样的话,我会尝试将javax.jms.api添加为全局模块。