J2EE组件开发 消息驱动的EJB

豆豆网   技术应用频道   2007年10月29日  【字号: 收藏本文

内容摘要:Java消息服务(Java Message Service,JMS)是一个Java API,它定义了消息的客户程序如何以一种标准化的形式与底层的消息服务提供者交互。JMS提供了一种接口,底层消息服务提供者通过该接口向客户程序提供JMS消息服务。

  TopicConnection接口是Connection接口的一种子类型,它代表着一个与JMS发布-订阅消息服务的连接。JMS客户程序调用TopicConnection.createTopicSession()方法创建Top icSession的实例。会话的事务支持和回执模式也在创建TopicSession时指定。

  TopicSession.createTopic()方法返回一个Topic对象的实例。Topic接口封装了一个话题目的地,发布者向该目的地发送消息,订阅者从该目的地接收消息。不同的服务提供者按照不同的方式实现话题名称的层次结构,调用Topic.getTopicName()方法可以获得话题的String形式的描述。

  TopicSession.createPublisher()方法创建一个TopicPublisher消息生产者,它用来把消息发布到Topic。消息可以通过各种不同的TopicPublisher.publish()方法发布到Topic,这些不同的publish()方法能够把消息发送给TopicPublisher对象关联的Topic对象,或者发送给publish()方法调用中指定的Topic对象。消息递送模式、优先级、消息的有效时间都可以在调用TopicPublisher.publish()方法时指定。发送给Topic的消息可以用Session接口中定义的各种消息构造方法创建。

  五、实例

  本示例应用是一个消息驱动Bean应用的简单例子,由以下两部分构成:

  SimpleMessageClient:J2EE应用客户程序,向队列发送消息。

  SimpleMessageEJB:一个消息驱动的Bean,异步地接收和处理由客户程序发送到队列的消息。

  客户端应用把消息发送到队列,队列由管理员通过j2eeadmin命令创建。JMS提供者(这里是J2EE服务器)把消息传递给消息驱动Bean的实例,由Bean的实例处理消息。

  5.1 客户端

  SimpleMessageClient把消息发送到SimpleMessageBean监听的队列。客户程序首先确定连接工厂和队列:

责编:豆豆技术应用

正在加载评论...