当前位置: 首页 > 知识库问答 >
问题:

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

陆高峰
2023-03-14

我有一个战争,它在EAP 6.4.x下工作得很好(x目前是8,但也在6和4下,等等下到6.4.0)。

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

从6.4.x到7.0.1开始“端口”;我对AMQ5.8.0 RAR的东西很感兴趣。对于初学者--还不会使用EAP7中的AMQ Artemis的任何东西。最初,我希望在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。

那么我在这个设置中遗漏了什么?

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

War中没有任何JBoss/Wildfly特定的DDs。

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

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

共有1个答案

吕利
2023-03-14

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

 类似资料:
  • 问题内容: 我在使用以下代码时遇到了麻烦: 调用Offer.query({},function(){}); 在我的控制器中工作没有任何问题。但是这部分不起作用: 这总是返回400错误: “NetworkError:400错误的请求- https://api.trustyou.com/hotels/d8421e79-99f0-41b2-8d6e-9cfd62a9776b/seal.json?call

  • 问题内容: 更新的问题 我的虚拟主机 问题答案: 这是问题的最可能原因。您已经在超级用户的主文件夹中创建了virtualenv。但是该文件夹不太可能被Apache访问。默认情况下,其他任何用户都无法访问用户的主文件夹。 Web服务器和WSGI过程将运行作为一个非特权用户通常命名为,,或者类似的东西。虽然您可以通过更改/ root /上的权限来解决此问题,但这不是很大。如果是普通用户,则危险性会降低

  • 我在django中使用spotify API/spotipy,需要用户登录到他们的帐户才能访问他们的数据。我使用了“pip3 install django-cors-Headers”并将适当的部分添加到settings.py. 即使这样,我仍然收到有关缺少访问控制允许源标头的错误,并且spotify登录页面无法打开。 jquery.min.js:2 XHR完成加载:GET"http://local

  • 问题内容: 我在使用Spring进行休眠验证时遇到一些问题。我已经按照在线教程中的说明进行了所有操作,但是它不起作用,我只是转到下一页而没有验证错误。 控制器: 客户form.jsp 因此,当我的lastName为空字段时,BindingResult中没有错误。我究竟做错了什么? 问题答案: 如果您的类路径尚不存在,请添加它。如果您正在使用任何构建工具,例如或仅添加到依赖项。 例如: 摇篮: Ma

  • 问题内容: 我正在使用以下代码,但在IE中失败。消息是: 无法获取属性’add’的值:对象为null或未定义” 我认为这只是一个IE支持问题。您将如何使以下代码在IE中工作? 有任何想法吗? 问题答案: IE9及更低版本不支持该属性。IE10 +支持它。 使用代替。注意:不要忽略空格:类名应添加在以空格分隔的列表中。

  • 当我在方法中使用和注释时,验证不起作用。如果我从方法参数中删除,它就可以正常工作。我使用了。 你知道它为什么不起作用吗? 如果我把它移开就不会有影响了,对吧?