wildfly10中JMS队列的JNDI名称格式

时间:2017-09-05 08:58:03

标签: jms wildfly wildfly-10 jms-queue

您好我正在从JBoss_6.1.0_final迁移到wildfly 10。

在JBoss for Queue名称中,格式类似于

<queue name="TEST_QUEUE">
  <entry name="/queue/TEST_QUEUE"/>
</queue>

并且在MDB注释中

@ActivationConfigProperty(propertyName = "destination",
                propertyValue = "queue/TEST_QUEUE")

现在在野生蝇下面如下。 reference link

<jms-queue name="TEST_QUEUE" entries="jms/queue/TEST_QUEUE java:jboss/exported/jms/queue/TEST_QUEUE"/>

with activationproperty

@ActivationConfigProperty(propertyName = "destination",
                        propertyValue = "jms/queue/TEST_QUEUE")

在wildfly中,我尝试从队列名称和注释中删除jms/,它在具有相同队列名称的wildfly中正常工作, 喜欢

<jms-queue name="TEST_QUEUE" entries="queue/TEST_QUEUE java:jboss/exported/queue/TEST_QUEUE"/>

现在我的问题是,有意添加了JMS/队列名称。

优良作法是编写没有前缀jms/

的队列名称

1 个答案:

答案 0 :(得分:2)

来自JEE JSR部分 EE.5.7.1.2资源管理器连接工厂参考的编程接口

  

此规范建议但不要求所有资源管理器连接工厂引用都在应用程序组件环境的子上下文中进行组织,并为每种资源管理器类型使用不同的子上下文。例如,所有JDBC™DataSource引用都应在java:comp / env / jdbc子上下文中声明,java:comp / env / jms子上下文中的所有JMS连接工厂,java中的所有JavaMail连接工厂:comp / env / mail子上下文,以及java:comp / env / url子上下文中的所有URL连接工厂。请注意,默认情况下,通过注释声明的资源管理器连接工厂引用不会出现在任何子上下文

jms子上下文不是必需的。这只是一种最佳做法。

服务器可以遵循或不遵循此模式。野生动物是JBoss,但最终,你决定做你想做的事情。但这是一个非常好的做法,因为它对每个人都更清洁。