选择显示字体大小

使用消息驱动beans(3)

<strong>第四部:为mdb(messagedrivebeans)定义部署描述符(<tt>ejb-jar.xml</tt>)<br></strong>&nbsp;&nbsp;&nbsp; &nbsp;在部署的时候,我们要告诉容器(这里使用的是weblogic)有关mdb的信息。使用标注的ejb部署描述符来安装mdbs.因此,我们需要创建一个名为meta-inf的文件夹来放置这些部署文件。<br><br clear=all><!--  me  --><b>meta-inf\ejb-jar.xml</b><br><font size=3>&nbsp;&nbsp;&nbsp; 在ejb-jar文件中,我们描述mdb类的名称,bean类的地址类型,和安全信息等。下面是这个文件;注意类名称和jms地址类型(</font><code><font size=4><destination-type>标记的内容根据<jms-destination-type>中描述的特定的创建者而改变。如果你使用的是bea weblogic6.0sp1你需要使用到<jms-destination-type>描述</font></code><font size=3>)</font> <code><font color=#0000ff><ejb-jar><enterprise-beans><message-driven><ejb-name>
<p><code><ejb-jar><br></p>
<p><code><font face=新宋体>&lt;ejb-jar&gt;<br>&nbsp;&lt;enterprise-beans&gt;<br>&nbsp;&nbsp;&lt;message-driven&gt;<br>&nbsp;&nbsp;&nbsp;&lt;ejb-name&gt;emailmdb&lt;/ejb-name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;ejb-class&gt;com.customware.ejb.emailmdb&lt;/ejb-class&gt;<br>&nbsp;&nbsp;&nbsp;&lt;transaction-type&gt;container&lt;/transaction-type&gt;<br>&nbsp;&nbsp;&nbsp;&lt;message-driven-destination&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;destination-type&gt;javax.jms.queue&lt;/destination-type&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/message-driven-destination&gt;<br>&nbsp;&nbsp;&nbsp;&lt;security-identity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;run-as-specified-identity&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;role-name&gt;system&lt;/role-name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/run-as-specified-identity&gt;<br>&nbsp;&nbsp;&nbsp;&lt;/security-identity&gt;<br>&nbsp;&nbsp;&lt;/message-driven&gt;<br>&nbsp;&lt;/enterprise-beans&gt;<br>&lt;/ejb-jar&gt;</font></code></p></code>
<p></role-name><br></run-as-specified-identity></security-identity></message-driven></enterprise-beans></ejb-jar></font></code></p>
<p>&nbsp;&nbsp;&nbsp; 我们在那里告诉容器队列的名称呢?这要放到厂商特定的文件中。比如,如果你部署在bea weblogic 6.0上你需要一个<code>weblogic-ejb-jar.xml文件,这个文件应该是这样的:</code></p>
<p><br><b>meta-inf\weblogic-ejb-jar.xml</b></p><code>
<p><code><weblogic-ejb-jar><br></p>
<p><code><font face=新宋体>&lt;weblogic-ejb-jar&gt;<br>&nbsp;&nbsp;&lt;weblogic-enterprise-bean&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;ejb-name&gt;emailmdb&lt;/ejb-name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;message-driven-descriptor&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;pool&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;max-beans-in-free-pool&gt;200&lt;/max-beans-in-free-pool&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;initial-beans-in-free-pool&gt;5&lt;/initial-beans-in-free-pool&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/pool&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;destination-jndi-name&gt;emailqueue&lt;/destination-jndi-name&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/message-driven-descriptor&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;jndi-name&gt;jms/emailmdb&lt;/jndi-name&gt;<br>&nbsp;&nbsp;&lt;/weblogic-enterprise-bean&gt;<br>&lt;/weblogic-ejb-jar&gt;</font></code></p></code>
<p><font color=#0000ff></weblogic-enterprise-bean></weblogic-ejb-jar></font></code><code>&lt;<font size=3>ejb-name&gt;<font color=#000000>描述的名称对应你在</font>ejb-jar.xml<font color=#000000>中定义的bean名称。然后我们可以定义pool(池)信息。在这个例子中我们将拥有最少5个最多200个mdbs实例。这将允许我们有200个并发的消息发送到队列中。</font><destination-jndi-name><font color=#000000>描述的内容告诉容器我们将使用emailqueue查找目的地址。因为我们并没有把它写道代码中,所以如果jms环境发生变化,我们只需要修改部署描述文件,然后重新部署就可以了。</font></font></code></p>
<p>第五步:打包代码:</p>
<p>现在我们完成了代码和部署描述文件,我们需要把它们打包然后部署到ejb服务器上。这些文件的目录结构大概的样子如下图所示:</p><img height=107 alt=&quot;directory structure diagram.&quot; src=&quot;http://www.matrix.org.cn/upload/article/a2003114100629.gif&quot; width=146 border=0>
<table cellspacing=12 cellpadding=6 width=170 align=right border=0>
<tbody>
<tr>
<td valign=top width=170 bgcolor=#efefef>
<p class=headline>例子文件</p>
<p class=smalltext><a href=&quot;http://www.onjava.com/onjava/2001/05/22/examples/ejb_msg.zip&quot;>下载本文的例子.</a></p></td></tr></tbody></table>
<p><br>&nbsp;&nbsp;&nbsp; 其中的client,ejb和util目录中应该使编译过的class文件;比如:<code>/client/emailclient.class</code>, <code>../ejb/emailmdb.class</code>, 和 <code>../util/emailhelper.class</code>.现在我们通过部署描述符来打包代码:<code>../code% jar cvf emailmdb.jar com meta-inf<br>现在我们有了一个email mdb的jar文件,我们把它部署到ejb服务器上。为了测试,在部署完bean之后,运行client你应该看到ejb服务器发送了一个email.要是这一切运行正常你需要确保javamail api mail.jar包含在ejb服务器的classpath中。</code></p>
<p><br><strong>结论</strong></p>
<p>&nbsp;&nbsp;&nbsp; 我们已经创建了一个消息驱动bean,你可以看到在jms中他作为一个消费者是多么的简单。消息驱动bean对于ejb组件结构是一个很好的补充,他为开发人员提供了一个方法来创建消费者使它集合化,支持事务处理并且使用了容器的架构。</p>
<p><b>译者语</b>:<br>&nbsp;&nbsp;&nbsp; 如果你使用的是weblogic 光有上面的代码是不够的,你好要设置一个<code><font size=4>destination.具体在weblogic 的console中的jms中设置.如果有什么不明白的地方请与我联系:</font></code><code><font size=4><a href=&quot;mailto:mail:wafd2003@yahoo.com.cn&quot;>mail:wafd2003@yahoo.com.cn</a>&nbsp;</font></code>qq:282099538 (请注明你是来自matrix :-))</p>
<p>原文:<a href=&quot;http://www.onjava.com/pub/a/onjava/2001/05/22/ejb_msg.html?page=1&quot;>http://www.onjava.com/pub/a/onjava/2001/05/22/ejb_msg.html?page=1</a></p>


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons