【发布时间】:2010-12-10 21:13:37
【问题描述】:
我正在使用带有很多 MDB 的 Weblogic 9.2。这些 MDB 访问 JDBC 数据源,并分别使用本地和外部 XAConnectionFactory 写入本地和外部管理的 JMS 目标。每个 MDB 划定一个容器管理的 JTA 事务,该事务应该分布在所有这些资源中。
以下是我的 ejb-jar.xml 的摘录,该 MDB 从名为“MyDestination”的本地队列消费并生成到名为“MyOtherDestination”的 IBM Websphere MQ 队列。这些逻辑名称链接到我的 weblogic-ejb-jar.xml 文件中的物理对象。
是否需要使用
我已经意识到使用暴露给 MDB 命名上下文的名称将受管对象与我的 MDB 分离的好处。这是指定这些标签时唯一添加的值吗?换言之,是否可以仅使用 InitialContext 和对象的完全限定名称从我的 MDB 中引用这些对象?
<enterprise-bean>
<message-driven>
<ejb-name>MyMDB</ejb-name>
<ejb-class>com.mycompany.MyMessageDrivenBean</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Queue</message-destination>
<message-destination-link>MyDestination</message-destination-link>
<resource-ref>
<res-ref-name>jms/myQCF</res-ref-name>
<res-type>javax.jms.XAConnectionFactory</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<message-destination-ref>
<message-destination-ref-name>jms/myOtherDestination</message-destination-ref-name>
<message-destination-type>javax.jms.Queue</message-destination-type>
<message-destination-usage>Produces</message-destination-usage>
<message-destination-link>MyOtherDestination</message-destination-link>
</message-destination-ref>
</message-driven>
<enterprise-bean>
【问题讨论】:
-
我澄清了我的问题。我对它是否可以工作不感兴趣。我想知道为什么有人会这样做。
标签: jakarta-ee weblogic ejb ibm-mq jta