我无法理解在何处定义JBoss中JMS队列实现所需的JMS资源。目前我正在处理的代码在WebLogic上工作,并且我试图将它迁移到JBoss 4.3 eap。JBoss:将JMS资源添加到JBoss 4.3
在weblogic中,有一个jms.xml文件,它定义了JMS资源和JNDI查找名称。例如:
<quota name="CacheT.Quota">
<bytes-maximum>9999999999999999999</bytes-maximum>
<messages-maximum>9999999999999999999</messages-maximum>
<policy>FIFO</policy>
<shared>false</shared>
</quota>
<template name="MessQ">
<delivery-failure-params>
<redelivery-limit>1</redelivery-limit>
<expiration-policy>Discard</expiration-policy>
</delivery-failure-params>
</template>
<connection-factory name="Queue Conn Fact">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>com.company.QueueConnFact</jndi-name>
<default-delivery-params>
<default-delivery-mode>Persistent</default-delivery-mode>
</default-delivery-params>
<transaction-params>
<xa-connection-factory-enabled>false</xa-connection-factory-enabled>
</transaction-params>
<security-params>
<attach-jmsx-user-id>false</attach-jmsx-user-id>
</security-params>
</connection-factory>
<queue name="EMessQ">
<sub-deployment-name>Product_JMS</sub-deployment-name>
<template>MessQ</template>
<jndi-name>com.company.EMessQ</jndi-name>
</queue>
<uniform-distributed-topic name="CacheT">
<sub-deployment-name>Product_JMS</sub-deployment-name>
<jndi-name>com.company.CacheT</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-topic>
对于我来说,我似乎并不了解这些资源在JBoss中的定义。在看了the JBoss Community Wiki后,没有任何问题得到解答。请记住,我是整个JMS的新手,对于JBoss来说还是比较新的。我确实发现了这个link,但似乎在讨论JBossMessaging,据我了解,这是一个新的JMS实现,它在JBoss 5版本中,而不是4.3。
我们的应用程序被部署为带有WAR和通用库JAR的EAR文件。一些further googling建议我必须将这些定义添加到每个单独的jboss.xml,我想避免这样做。
基本上,我很困惑。我正在尝试在进行这些更改时学习JMS,但我似乎无法弄清楚这一部分。
感谢您的任何帮助。
谢谢,我会看看。 – Mike 2009-09-02 19:38:27