【发布时间】:2015-09-27 03:47:41
【问题描述】:
我有一个使用 JMS 队列的 web 应用程序,这在 Wildfly 8.2 上运行良好。但在 Wildfly 9.0 上,我遇到了命名异常。
根据指南中的示例: https://docs.jboss.org/author/display/WFLY9/Messaging+configuration
本地客户端可以使用 “java:jboss/exported/jms/queue/test”、“java:jms/queue/test”或更多 只需“jms/queue/test”:
standalone.xml:
<subsystem xmlns="urn:jboss:domain:messaging:2.0">
<hornetq-server>
[...]
<jms-destinations>
<jms-queue name="testQueue">
<entry name="jms/queue/test"/>
<entry name="java:jboss/exported/jms/queue/test"/>
</jms-queue>
</jms-destinations>
</hornetq-server>
</subsystem>
Java 类:
@Inject
private JMSContext context;
@Resource(lookup="java:jboss/exported/jms/queue/test")
private Destination queueDestination;
...
private void foo() {
JMSConsumer consumer = context.createConsumer(queueDestination);
}
升级到 Wildfly 到 9.0 Final 后,我在 context.createConsumer 上收到以下异常:
java.lang.RuntimeException: javax.naming.NameNotFoundException: DefaultJMSConnectionFactory -- service jboss.naming.context.java.module.AAA.AAA.DefaultJMSConnectionFactory
我尝试将@Resource 查找更改为“java:jms/queue/test”或“jms/queue/test”
似乎没有任何效果。
谢谢
【问题讨论】:
标签: jakarta-ee jms jndi wildfly