分享
 
 
 

使用消息驱动Beans(3)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

第四部:为MDB(MessageDriveBeans)定义部署描述符(ejb-jar.xml)

在部署的时候,我们要告诉容器(这里使用的是weblogic)有关MDB的信息。使用标注的EJB部署描述符来安装MDBs.因此,我们需要创建一个名为META-INF的文件夹来放置这些部署文件。

META-INF\ejb-jar.xml

在ejb-jar文件中,我们描述MDB类的名称,bean类的地址类型,和安全信息等。下面是这个文件;注意类名称和JMS地址类型(标记的内容根据中描述的特定的创建者而改变。如果你使用的是BEA Weblogic6.0sp1你需要使用到描述)

<ejb-jar

<enterprise-beans

<message-driven

<ejb-nameEmailMDB</ejb-name

<ejb-classcom.customware.ejb.EmailMDB</ejb-class

<transaction-typeContainer</transaction-type

<message-driven-destination

<destination-typejavax.jms.Queue</destination-type

</message-driven-destination

<security-identity

<run-as-specified-identity

<role-namesystem</role-name

</run-as-specified-identity

</security-identity

</message-driven

</enterprise-beans

</ejb-jar

我们在那里告诉容器队列的名称呢?这要放到厂商特定的文件中。比如,如果你部署在BEA WebLogic 6.0上你需要一个weblogic-ejb-jar.xml文件,这个文件应该是这样的:

META-INF\weblogic-ejb-jar.xml

<weblogic-ejb-jar

<weblogic-enterprise-bean

<ejb-nameEmailMDB</ejb-name

<message-driven-descriptor

<pool

<max-beans-in-free-pool200</max-beans-in-free-pool

<initial-beans-in-free-pool5</initial-beans-in-free-pool

</pool

<destination-jndi-nameEmailQueue</destination-jndi-name

</message-driven-descriptor

<jndi-namejms/EmailMDB</jndi-name

</weblogic-enterprise-bean

</weblogic-ejb-jar

<ejb-name描述的名称对应你在ejb-jar.xml中定义的bean名称。然后我们可以定义pool(池)信息。在这个例子中我们将拥有最少5个最多200个MDBs实例。这将允许我们有200个并发的消息发送到队列中。描述的内容告诉容器我们将使用EmailQueue查找目的地址。因为我们并没有把它写道代码中,所以如果JMS环境发生变化,我们只需要修改部署描述文件,然后重新部署就可以了。

第五步:打包代码:

现在我们完成了代码和部署描述文件,我们需要把它们打包然后部署到EJB服务器上。这些文件的目录结构大概的样子如下图所示:

例子文件

下载本文的例子.

其中的client,ejb和util目录中应该使编译过的class文件;比如:/client/EmailClient.class, ../ejb/EmailMDB.class, 和 ../util/EmailHelper.class.现在我们通过部署描述符来打包代码:../code% jar cvf emailmdb.jar com META-INF

现在我们有了一个Email MDB的jar文件,我们把它部署到EJB服务器上。为了测试,在部署完bean之后,运行client你应该看到EJB服务器发送了一个email.要是这一切运行正常你需要确保JavaMail API mail.jar包含在EJB服务器的CLASSPATH中。

结论

我们已经创建了一个消息驱动Bean,你可以看到在JMS中他作为一个消费者是多么的简单。消息驱动Bean对于EJB组件结构是一个很好的补充,他为开发人员提供了一个方法来创建消费者使它集合化,支持事务处理并且使用了容器的架构。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有