ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载]使用消息驱动Beans(3)

[转载]使用消息驱动Beans(3)

原创 Linux操作系统 作者:dinner1007 时间:2019-07-06 13:27:06 0 删除 编辑
使用消息驱动Beans(3)
第四部:为MDB(MessageDriveBeans)定义部署描述符(ejb-jar.xml)
  在部署的时候,我们要告诉容器(这里使用的是weblogic)有关MDB的信息。使用标注的EJB部署描述符来安装MDBs.因此,我们需要创建一个名为META-INF的文件夹来放置这些部署文件。
  
  META-INFejb-jar.xml
  在ejb-jar文件中,我们描述MDB类的名称,bean类的地址类型,和安全信息等。下面是这个文件;注意类名称和JMS地址类型(标记的内容根据中描述的特定的创建者而改变。如果你使用的是BEA Weblogic6.0sp1你需要使用到描述)
  
  
  
   
    EmailMDB
    com.customware.ejb.EmailMDB
    Container
   
    javax.jms.Queue
   

   
    
     system
    

   

   

  

  

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

     EmailQueue
    

    jms/EmailMDB
   

  

  
   描述的名称对应你在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组件结构是一个很好的补充,他为开发人员提供了一个方法来创建消费者使它集合化,支持事务处理并且使用了容器的架构。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/374079/viewspace-131558/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-08-23

  • 博文量
    1714
  • 访问量
    1477630