服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

使用消息驱动beans(1)


  ejb 2.0消息驱动beans开发消息驱动beans和jms
  这次我们要讨论的话题是ejb2.0消息驱动beans。 我将结合jms的知识来演示一个具体的实例。文章所有的代码都可以在支持消息beans的ejb服务上运行(ejb2.0容器);另外你还需要一个支持jms的消息服务器来控制消息队列。本文假设你了解企业级javabeans的知识。在这篇文章中我们将创建一个邮件消息队列系统。这个系统包括以下几个部分:
  
  jms servser:一个jms服务器,它将保存我们的邮件系统的消息队列。
  jms queue: jms队列,它将保存来自客户端的jms消息。在我们的例子中,这个消息是一个映射消息(mapmessage),他允许我们存储有关被发出的邮件的"键/值"对信息。
  email message client:一个email消息客户端,它将创建一个jms消息然后把消息发送到jms队列中。这个消息中包含了将要发送的邮件信息。
  email message drive bean:一个email消息驱动bean负责接收jms映射消息并把它发送出去。
  http://www.matrix.org.cn/upload/article/a200311495538.gif<;/img>
  
  jms 的结构在我们讲述消息驱动beans之前,让我们先来谈谈jms(java消息服务)。我们知道现在有很多消息系统,每一个都有他们自己的api,这些消息系统提供了事件交换和数据异步的服务。作为一个程序员,我可以给消息服务器发送一些信息然后继续工作,而不必等待来自系统的响应。jms api描述了一个标准的方法来访问几乎所有的消息系统,就像jdbc允许我们使用相同的api访问oralce,sybase和sql server 一样。 如同可以调用异步服务那样,我们从中获得额外的好处是程序之间有一个宽松的耦合,发送请求的代码和响应请求的代码是分离的。不同的客户端把消息发送到同一个指定的目的地;然后,接收者(receiver)从目的地分离出消息并显示出来。下面让我们快速的了解一些jms api的基本概念:消息映射域
  
  jms消息消息映射域
  消息系统有几种运行模式。jms api 提供了不同的域,他对应不同的模式。一个jms提供者(provider)一个或多个域。两个、多个公共域是点对点和发布/订约。这两个域有下面的概念:destination:对象客户端指定消息发送和接受的目的地producer:一个客户端发送一个消息到一个目的地consumer:一个客户端从目的地接受消息点对点(ptp)一个点对点应用有下面几个特征:
  一个ptp提供者是一个发送者一个ptp消费者是一个接收者一个ptp目标是一个队列一个消息只能被一个接收者消费
  发布/订阅(pub/sub)一个pub/sub应用有以下特征:a pub/sub producer is publishera pub/sub consumer is a subscriber
  a pub/sub destination is a topic
  a message may have multiple subscribers
  
  一个pub/sub提供者是一个发布者一个pub/sub消费者是一个订阅者一个pub/sub目标是一个主题一个消息可以有多个订阅者。
  比如,一个邮件通信系统可以使用发布/订阅模式。每一个对邮件通信感兴趣的人都可以成为一个订阅者,当一个新的消息被发布后,这个消息会发送给每一个订阅者。

扫描关注微信公众号