网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.Java开发为什么需要UML.
.Java让Web显示数学特殊符号.
.Jboss的配置安装.
.Java新手入门需要掌握的30个基本.
.追求“简约不简单”的ORM映射框架.
.Tomcat 5.0-5.5连接池配置指南.
.对JAVA安全性的讨论.
.java初学者要搞清.
.用java小程序applet实现无限级树.
.Eclipse上的Tomcat插件安装和调试.
.Java的网络编程:用Java实现Web服.
.Java程序员认证模拟题及详细分析.
.解析Java体系结构对信息安全的支.
.Java性能优化技巧集锦(2).
.为什么要使用JDO.
.Java编程准则.
.在Panel中实现菜单功能.
.Java基础入门:关于Java构造器.
.企业门户的发展方向.
.Java中正则表达式使用方法详解.

使用消息驱动Beans(3)

发表日期:2008-1-5



  第四部:为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-name>EmailMDB</ejb-name>
    <ejb-class>com.customware.ejb.EmailMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination>
    <destination-type>Javax.jms.Queue</destination-type>
    </message-driven-destination>
    <security-identity>
    <run-as-specified-identity>
     <role-name>system</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-name>EmailMDB</ejb-name>
    <message-driven-descriptor>
     <pool>
      <max-beans-in-free-pool>200</max-beans-in-free-pool>
      <initial-beans-in-free-pool>5</initial-beans-in-free-pool>
     </pool>
     <destination-jndi-name>EmailQueue</destination-jndi-name>
    </message-driven-descriptor>
    <jndi-name>jms/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组件结构是一个很好的补充,他为开发人员提供了一个方法来创建消费者使它集合化,支持事务处理并且使用了容器的架构。
上一篇:使用消息驱动Beans(2) 人气:595
下一篇:有状态会话 bean运行结束时应及时被显示删除 人气:451
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐