首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

在OC4J上配置JMS & 使用Message-Driven Bean

2012-10-30 
在OC4J下配置JMS & 使用Message-Driven Bean!DOCTYPE jms-server PUBLIC OC4J JMS server http://xmln

在OC4J下配置JMS & 使用Message-Driven Bean

<!DOCTYPE jms-server PUBLIC "OC4J JMS server" "http://xmlns.oracle.com/ias/dtds/jms-server-9_04.dtd">

<jms-server port="9127">

???
??? <queue name="Jera MessageService Queue" location="jms/JeraMSQueue">
??????? <description>Queue for Jera MessageService</description>
??? </queue>

??? <topic name="Demo Topic" location="jms/demoTopic">
??????? <description>A dummy topic</description>
??? </topic>
????
??? <log>
??????? <file path="../log/jms.log"/>
??????? <!-- Uncomment this if you want to use ODL logging capabilities
??????? <odl path="../log/jms/" max-file-size="1000" max-directory-size="10000"/>
??????? -->
??? </log>

??? <queue-connection-factory location="jms/JeraMSQueueConnectionFactory"/>
???
</jms-server>

?

证明配置成功完成。

?这里的name属性与上面ejb-jar.xml中的ejb-name属性是对应的。 destination-location和connection-factory-location分别指定了MDB读取Message使用的消息队列和创建连接使用的Factory.这里的location必须是在jms.xml中声明过的连接。

?

?至此配置完成,下面要做的是测试工作。

?

?Part III Test

?

?测试环境由两部分组成:负责发送消息的Servlet和后台处理消息的Message-Driven Bean.

?

?Servlet端代码如下:?

? 这个deployment-descriptor中,需要修改的部分主要有<transaction-type>(可选项为Container和Bean)和<destination-type>(可选项为Queue和Topic),根据MDB具体选择。

?

? 如果读者对EJB比较熟悉,可能会注意到:与SessionBean或EntityBean不同的是,Message-Driven Bean的deployment-descriptor中没有包含JNDI location的信息。这是由MDB与其他两种EJB不同的工作方式决定的。在被创建后,MDB会使用指定的ConnectionFactory创建与JMS Service的连接,随后在指定的消息队列中监听消息,并根据收到的消息决定自己的行为。应用程序只能通过这个消息队列与MDB交互,所以MDB并不需要一个JNDI location.

?

? 2.? 对orion-ejb-jar.xml的配置

?

?这个文件是OC4J系列Server专用的deployment-descriptor文件。如果使用的AS是JBOSS,则要配置jboss.xml,其他类似。

?

?下面是一个示例:

?--本段假设读者已经具有EJB的相关背景知识(包括deployment descriptor等),因此不再对一些常识进行说明。

?

??? 1.? 对ejb-jar.xml的配置

??? JMS Service的运行需要一台JMS Server的支持。目前主流J2EE AS的开发商都在自己的产品中集成了JMS Server的实现,只需要正确的配置,启用JMS服务就可以了。本文中使用的JMS Server是OC4J JMS。

?

??? OC4J JMS的配置文件是$ORACLE_HOME/config/jms.xml,在$ORACLE_HOME/config/server.xml中使用”<jms-config path="./jms.xml"/>” tag指明。

?

?? Jms.xml的DTD文件是http://xmlns.oracle.com/ias/dtds/jms-server-9_04.dtd

热点排行