zoukankan      html  css  js  c++  java
  • 浅谈Java消息服务(JMS)规范与ActiveMQ实现

    浅谈JMS规范与ActiveMQ实现

    1.什么是消息中间件?

    根据百度百科的介绍:

    消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

    看完上面的解释,你可能跟我一样,还是一头雾水╮(╯▽╰)╭。还是一起来学习一下消息中间件有哪些应用吧。

    这里推荐一篇非常好的关于消息中间件应用场景的博文:为什么要使用MQ消息中间件?它解决了什么问题?,总结下有以下三个方面:

    • 异步处理消息
    • 应用解耦
    • 流量削峰

    2.什么是Java消息服务?

    根据百度百科的介绍:

    JMS即Java消息服务应用程序接口,是一个Java平台中关于面向**消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
    JMS是一种与厂商无关的 API,用来访问收发系统消息,它类似于JDBC,JDBC 可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商都支持 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ。 **JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS客户机发送消息。**消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本(TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。

    上面的介绍有点绕口,简单的理解就是,JMS是一组面向消息中间件的技术规范和接口,自身并不提供具体实现。使用JMS API可以很方便的在Java平台上使用不同厂商提供的消息收发服务。

    3.Spring集成JMS

    翻阅Spring的官方文档,可以发现Spring提供了一个JMS集成框架,该框架简化了JMS API的使用,就像Spring对JDBC API的集成一样。下面列出几个核心的package:

    org.springframework.jms.corepa package提供了使用JMS的核心功能。它包含JmsTemplate类,该J类通过处理资源的创建和释放来简化JMS的使用,就像JdbcTemplate类为JDBC所做的工作一样。 Spring模板类共有的设计原则是提供辅助方法来执行常见操作,而对于更复杂的用法,将处理任务的实质委托给用户实现的回调接口。 JMS模板遵循这一设计原则,在模板类中提供了各种方便的方法,用于发送消息同步使用消息以及向用户公开JMS会话(JMS session )和消息生成器(message producer )。

    org.springframework.jms.support.converter package提供了一个可以对Java对象和JMS消息进行相互转换MessageConverter抽象类。

    org.springframework.jms.annotation package为支持注解驱动的侦听器端点,提供了必要的基础结构。可以使用@JmsListener注解来定义侦听器端点(listener endpoints )。

    org.springframework.jms.config package提供了JMS命名空间的解析器实现以及对java配置的支持:配置侦听器容器和创建侦听器端点。

    4.ActiveMQ与JMS的联系

    ActiveMQ是JMS规范的具体实现,它是Apache下的一个项目,完全采用Java语言开发。

    5.ActiveMQ安装

    我是在CentOS 7.5的Linux环境下安装软的,安装需要注意的是:由于ActiceMQ完全采用Java语言开发,运行时本地必须先安装好Java环境。ActiveMQ本身的安装时十分简单的,分成3步:

    1. 在ActiveMQ官网下载ActiveMQ 5 "Classic"版本,选择Linxu版,同样也有windows版本。

      ActiveMQ官网下载

    2. 执行tar -zxvf命令解压后,进入apache-activemq-5.15.11目录 。

    3. 执行./bin/activemq start启动ActiveMQ

      启动ActiveMQ

    安装完成后,打开浏览器输入服务器地址:8161,就可以进入到ActiveMQ的管理后台,初始的登录的用户名和密码都是admin,见到下图就是安装成功啦。

    ActiveMQ消息管理后台

    ActiveMQ有两个端口号,一个是61616,这是应用端口号,供程序连接,另外一个8161端口号对应消息管理后台。

  • 相关阅读:
    如何创建一个自定义和定制Windows窗体事件“跳转列表吗
    动画应用程序的主窗体
    Splasher v1.32 -启动屏幕实现
    颜色需要
    选项卡对话框类
    捕捉屏幕的各种方法
    列表生成方式
    关于日志监控中,关键字段如果还有.该如何处理
    oracle的一些状态查询
    rpm
  • 原文地址:https://www.cnblogs.com/blog567/p/12374655.html
Copyright © 2011-2022 走看看