zoukankan      html  css  js  c++  java
  • 【高级JEE技术】JMS

    ActiveMQ消息服务器。

    ActiveMQ是apache的一种jms标准实现,支持两种模型,点对点发送消息以及发布订阅者模型。

    为了规范JMS API,JMS为消息传送定义了很多概念:

    JMS客户端----100%用Java编写的发送和接收消息的应用。

    Non-JMS客户端----使用JMS提供者特定的客户端API而不是JMS API来发送和接收消息的应用。

    JMS producer----创建和发送JMS消息的客户端应用。

    JMS consumer----接收和处理JMS消息的客户端应用。

    JMS provider----100%使用Java编写的JMS接口的实现。

    JMS message----JMS最基础的概念;被JMS客户端发送和接收。

    JMS domains----两者类型的消息传送,包括点对点(point-to-point)和发布/订阅(publish/subscribe)模式。

    Administered objects----预配置的JMS对象,包含provider特定的配置信息。客户端通过JNDI来访问这些数据。

    Connection factory----客户端使用连接工厂来连接JMS provider。

    Destination----消息被投递的地方,以及接收者消息接收的来源。

    除此之外,还有其它一些同样重要的概念。下一部分将深入这些概念并描述它们怎么构建整个JMS。

    单点模型:

    发布/订阅者模型:

     

    启动ActiveMQ:

    Activemq 在window环境下只需cd到bin目录下,输入activemq start 即可启动,注意电脑名不能为中文,否则会报错。

    启动后打开web管理界面:http://localhost:8161/admin/

     

    可以看到activeMQ几个关键信息:

    Queue,Topic,Subscribers。

    要创建jms程序,有几个必要的步骤:connectinFactory->connection->session->destination->cosumer/producer

     

    点对点的JMS发送程序,使用queue作为连接,MQ会保存消息。

    创建了一个名为"my-queue"的queue:

    接受方程序:

     

    发布/订阅模型,MQ不会显示保存数据,需要显示申明自己的clienID和持久订阅连接。

    发送方,设置消息为持久性保存 setDeliveryMode(DeliveryMode.PERSISTENT)

    接收方,需要显示声明自己是持久性订阅 createDurableSubscriber

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    gulp ( http://markpop.github.io/2014/09/17/Gulp入门教程 )
    less 官网讲解 ( http://www.bootcss.com/p/lesscss/ )
    js 闭包 弊端
    js 闭包 理解 copy
    js 中 的 if使用条件
    $ each() 小结
    文件自动加载
    (openssl_pkey_get_private 函数不存在)phpstudy开启openssl.dll 时提示httpd.exe 丢失libssl-1_1.dll
    form
    js字符串处理
  • 原文地址:https://www.cnblogs.com/AlwaysFixBug/p/4809761.html
Copyright © 2011-2022 走看看