我在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\"]"]
}
我不太清楚缺少什么依赖,任何帮助都会受到赞赏。
谢谢!
答案 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 配置选项:
答案 1 :(得分:2)
最后我发现了问题,连接工厂中的注释错误了:
而不是
jackson
我用
@Resource(lookup = "jms/error.inbox")
感谢您的帮助!
答案 2 :(得分:0)
抱歉,我已经迟到了:)很高兴您找到它并感谢您使用Wildfly Swarm。