zoukankan      html  css  js  c++  java
  • [转]JMS编程模式

    消息形式:
    点对点为两个客户之间建立消息队列,使两个客户端之间通过队列实现点对点的消息传递
    注:类似数据结构里的队列,先进先出
    主题消息,在消息中间件上建立一个主题,没个客户端都可已向这个主题发送消息,接受消息

    注:类似广播的方式

    开发流程:


    使用JMS步骤

    1.创建一个JNDI上下文

    Context  init initCtx =new InitialContext(env);

    2.查找创建JMS连接使用的工厂类(Connnect Factory)

    对于主题消息:

    Object tmp=initCtx.lookup(“Connnect Factory”);

    TopicConnectionFactory tcf=( TopicConnectionFactory) tmp;

    对于点对点消息:

    Object tmp=initCtx.lookup(“Connnect Factory”);

    QueueConnectionFactory tcf=( QueueConnectionFactory) tmp;

    3.查找JMS的目标对象(Destination)

    对于主题消息:

    Topic topic=(Topic)iniCtx.lookup(“topic/testTopic”);

    对于点对点消息:

    Queue queue (Queue)iniCtx.lookup(“queue /A”);

    4.创建JMS连接(Connection)

    对于主题消息:

    TopicConnection conn=tcp.createTopicConnection();

    对于点对点消息:

    QueueConnection conn=tcp.createQueueConnection ();

    5.创建JMS会话(session)

    对于主题消息:

    TopicSession session=conn.createTopicSession(fasle,Session.AUTO_ACKNOWLEDGE);

    对于点对点消息:

    QueueSession session= conn.createQueueSession(true,0);

    6.创建消息的生产和消费者

    生产者:

    对于主题消息:

    TopicPublisher publisher=session.createPublisher(topic);

    对于点对点消息:

    QueueSender sender = session.createSender (queue);

    消费者:

    对于主题消息:

    TopicSubscriber subscriber=session.createSubscriber (topic);

    对于点对点消息:

    QueueReceiver receiver= session.createReceiver (queue);

    7.注册消息的监听者

    对于主题消息:

    TextListener listener=new TextListener();

    subscriber.setMessageListener(listener);

    对于点对点消息:

    TextListener listener=new TextListener();

    receiver.setMessageListener(listener);

    8.开始JMS的连接

       conn.start();

    9.发送和接受消息

    发送消息:

    对于主题消息:

    publisher.publish(message);

    对于点对点消息:

    sender.send(message);

    接受消息:

    对于主题消息:

    Message msg= subscriber.receive();

    对于点对点消息:

    Message msg= receiver.receive(1000);

    10.停止和关闭JMS连接

    conn.stop();

    session.close();

    conn.close();

    转自:http://www.mldn.cn/articleview/2007-2-6/article_view_1377.htm

  • 相关阅读:
    20199301 2019-2020-2 《网络攻防实践》 第九周作业
    20199301 2019-2020-2 《网络攻防实践》第八周作业
    第六课 网络安全防范技术实践验收
    20199301 2019-2020-2 《网络攻防实践》 第六周作业
    20199301 2019-2020-2 《网络攻防实践》 第五周作业
    某次发言
    FATE安装部署日志
    期末大作业
    python爬虫
    20199302 2019-2020-2 《网络攻防实践》第12周作业
  • 原文地址:https://www.cnblogs.com/monica/p/1788739.html
Copyright © 2011-2022 走看看