拾贝壳

走过的路
随笔 - 39, 文章 - 1, 评论 - 14, 引用 - 0
数据加载中……

JMS初读

33.2 基本的jms api概念
   33.2.1 jms api体系结构
     jms应用程序组成部分:
    a. jms提供者--------j2ee平台.
    b.jms客户端--------需要用户完成的应用程序.
    c.消息----在客户端之间传递信息的对象
   d.管理的对象----连接工厂和目的地
 33.2.2 消息域
   分为"点到点消息传递域"和"发表/订阅小心传递域"
 33.2.3 消费消息
   两种方式:同步和异步.同步直接用receive方法提取消息.异步需要可湖段为消费者注册一个见听器.通过调用见听器的onMessage方法来分发消息.
33.3 jms api编程模型
  33.3.1 管理的对象
   a.连接工厂
    通常是执行jndi查找获得连接工厂.eg:
  Context ctx= new InitialContext();
  ConnectionFactory cf=(ConnectionFactory ) ctx.lookup("jms/QueueConnectionFactory");
ConnectionFactory cf=(ConnectionFactory ) ctx.lookup("jms/TopicConnectionFactory");
 b.目的地
   在ptp中,目的地是"队列".在发表/订阅中,目的地是"主题".
  eg:
Destination mydest=(Topic)ctx.lookup("jms/mytopic");
33.3.2 连接
 连接由连接工厂来创建.eg:
Connection conn=ConnectionFactory .createConnection();
33.3.3 会话
会话 由 Connection来创建
Session session=Connection.createSession(false,Session.AUTO_ACKOWLEDGE);
事务性的会话
Session session=Connection.createSession(true,0);
33.3.4 消息生产者
由session 来创建,实现MessageProducer接口.
   MessageProducer mp=session.createProducer(myQueue);
发送动作
mp.send(message);
33.3.5 消息消费者
 由session创建,实现MessageConsumer接口.
eg:
MessageConsumer mc=session.createConsumer(myQueue);
bwt:
利用session.createDurableSubscriber可以创建长期的订阅者.
  ========获得消息==
同步方式.
connection.start();
Message m=consumer.receive();
connection.start();
Message m=consumer.receive(1000); //time out afer a second
异步方式.
构造一个消息舰艇器,用setMessageListener方法向具体的MessageConsumer中注册.eg:
  Listener myListener= new Listener ();
consumer.setMessageListener (myListener );
33.3.6 消息
分为消息头,消息属性和消息体,只有消息头是必须的.
消息头存放了可护短和提供者用来识别和路由消息的值.
常见的消息体的格式(消息类型)有5种.
 
 

posted on 2006-05-31 22:25 binge 阅读(421) 评论(0)  编辑  收藏 所属分类: J2EE


只有注册用户登录后才能发表评论。


网站导航: