使您的应用程序调用我的应用程序,第 1 部分: Apache Geronimo 通信基础 —— 开发、部署和测试(下)
2010-03-19 00:00:00 来源:WEB开发网如 清单 10 所示,为了在数据表中创建一个采购订单行,您在 JNDI 服务器中查找 PurchaseOrderEJB,并调用主接口上的 create() 方法。
定义 MDB 描述符
既然已经实现了 PurchaseOrderMDB,就该在描述符中定义 MDB 了。您不必为 MDB 定义单独的描述符。它们是在与 EJB 相同的描述符中定义的,也就是 ejb-jar.xml(参见 清单 11)和 openejb-jar.xml(参见 清单 12)。
清单 11. 定义 MDB 的 ejb-jar.xml 代码片段
<message-driven>
<ejb-name>PurchaseOrderMDB</ejb-name>
<ejb-class>examples.po.mdb.PurchaseOrderMDB</ejb-class>
<transaction-type>Container</transaction-type>
<message-destination-type>javax.jms.Topic
</message-destination-type>
</message-driven>
在 openejb-jar.xml 中,您定义了 MDB 应侦听的主题/队列 JNDI 名(POTopic)(参见 清单 12)。您还要定义 MDB 在 ejb-ref 部分中调用的 EJB。
清单 12. 定义 MDB 的 openejb-jar.xml 代码片段
<message-driven>
<ejb-name>PurchaseOrderMDB</ejb-name>
<resource-adapter>
<target-name>
geronimo.server:J2EEApplication=null,J2EEServer=geronimo,
JCAResource=geronimo/activemq/1.0/car,j2eeType=JCAResourceAdapter,
name=ActiveMQ RA
</target-name>
</resource-adapter>
<activation-config>
<activation-config-property>
<activation-config-property-name>
destination
</activation-config-property-name>
<activation-config-property-value>
POTopic
</activation-config-property-value>
</activation-config-property>
<activation-config-property>
<activation-config-property-name>
destinationType
</activation-config-property-name>
<activation-config-property-value>
javax.jms.Topic
</activation-config-property-value>
</activation-config-property>
</activation-config>
<!--This is a reference to PurchaseOrderEJB CMP deployed in
Geronimo Server. -->
<ejb-ref>
<ref-name>ejb/PurchaseOrderEJB</ref-name>
<ejb-link>PurchaseOrderEJB</ejb-link>
</ejb-ref>
</message-driven>
更多精彩
赞助商链接