簡體   English   中英

wildfly10中JMS隊列的JNDI名稱格式

[英]JNDI name format of JMS queue in wildfly10

嗨,我正在從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")

現在在下面,它像下面這樣。 參考鏈接

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

具有激活屬性

@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/隊列名稱

從JEE JSR第EE.5.7.1.2部分開始,資源管理器連接工廠引用的編程接口

該規范建議(但不要求)在應用程序組件環境的子上下文中組織所有資源管理器連接工廠引用,並對每種資源管理器類型使用不同的子上下文。 例如,所有JDBC™數據源引用都應在java:comp / env / jdbc子上下文中聲明,所有JMS連接工廠都在java:comp / env / jms子上下文中聲明,所有JavaMail連接工廠都應在java:comp / env / mail中聲明子上下文,以及java:comp / env / url子上下文中的所有URL連接工廠。 請注意,默認情況下,通過注釋聲明的資源管理器連接工廠引用不會出現在任何子上下文中

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

服務器是否可以遵循這種模式。 JBoss並沒有遵循這個原則,wildfly是,但是最終,這是您決定執行自己想要的事情的決定。 但這是一個非常好的實踐,因為它對每個人都更清潔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM