WildFly Swarm和ActiveMq(未安装的必需服务)

时间:2017-06-28 09:22:08

标签: java-ee activemq messaging wildfly-10

我在JavaEE中使用JMS协议进行消息传递的微服务。我试图使用远程连接创建一个带有WildFly Swarm的UberJar(在这种情况下,我有一个运行ActiveMq实例的docker容器)。

在文档(https://wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/content/common/messaging.html)中,没有用户名和密码的配置。你们知道在哪里提供这些信息吗?

执行生成的uberJar,我有以下错误:

2017-06-28 10:49:26,630 ERROR [org.jboss.as.controller.management-operation] (main) WFLYCTL0013: Operation ("add") failed - address: (("deployment" => "srcrr-batcher.war")) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.module.srcrr-batcher.srcrr-batcher.env.jms.\"error.inbox\""],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.srcrr-batcher.srcrr-batcher.env.\"com.magento.mcom.sorcerer.jms.AbstractReceiverBean\".errorQueue is missing [jboss.naming.context.java.module.srcrr-batcher.srcrr-batcher.env.jms.\"error.inbox\"]"]
}
2017-06-28 10:49:26,631 ERROR [org.jboss.as.server] (main) WFLYSRV0021: Deploy of deployment "srcrr-batcher.war" was rolled back with the following failure message:
{
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.module.srcrr-batcher.srcrr-batcher.env.jms.\"error.inbox\""],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.srcrr-batcher.srcrr-batcher.env.\"com.magento.mcom.sorcerer.jms.AbstractReceiverBean\".errorQueue is missing [jboss.naming.context.java.module.srcrr-batcher.srcrr-batcher.env.jms.\"error.inbox\"]"]
}

我不太清楚缺少什么依赖,任何帮助都会受到赞赏。

谢谢!

3 个答案:

答案 0 :(得分:2)

这些服务大致机械地转换为JNDI名称:

jboss.naming.context.java.module.srcrr-batcher.srcrr/batcher.env.jms.\"error.inbox\"":

java:module/srcrr-batcher/srccrr-batcher/env/jms/error.inbox

重复的“srcrr-batcher”很好奇。

如果您可以发布完整服务器日志的要点,可能使用-Dswarm.logging = DEBUG,这可以帮助我们确定是什么。

此外,参考指南为您的YAML配置提供了 lot 配置选项:

https://reference.wildfly-swarm.io/fractions/messaging.html

答案 1 :(得分:2)

最后我发现了问题,连接工厂中的注释错误了:

而不是

jackson

我用

@Resource(lookup = "jms/error.inbox")

感谢您的帮助!

答案 2 :(得分:0)

抱歉,我已经迟到了:)很高兴您找到它并感谢您使用Wildfly Swarm。