1、ActiveMQ

activeMQ是Apache推出的一款开源的支持JMS1.1和J2EE1.4规范的消息中间件。

功能:用来帮助实现高可用、高性能、可伸缩、和安全的企业级面向消息服务的系统。

2、消息中间件【MOM】

MOM基本功能:将信息以消息的形式,从一个应用程序传送到另外一个或者多个应用程序。

特点:

(1)消息异步接收,消息发送者不需要等待消息接收者的响应,减少软件多系统集成的耦合性。

(2)消息可靠接收,确保消息在中间件可靠保存,多个消息可以组成一个原子事务。

3、安装ActiveMQ[linux]

前言:ActiveMQ使用61616提供JMS服务,使用8161提供管理控制台服务。 

【1】首先确保你的linux系统上安装了JDK 

  java -version

ActiveMQ学习

【2】下载 ActiveMQ 压缩包,并且解压

ActiveMQ学习

ActiveMQ学习

【3】进入bin目录 执行 ./activemq start    关闭:./activemq stop  

使用指定的配置文件来启动: ./activemq start xbean:file: .../conf/activemq-2.xml[举例]

【4】在浏览器地址栏输入ip:8186/admin   [列如:http://192.168.22.128:8161/admin/]

ActiveMQ学习

ActiveMQ学习

出现这样的界面表示安装并启动成功。【账号和密码都是admin

如果访问显示超时请检查你的防火墙。关闭防火墙或者修改配置

 vi /etc/sysconfig/iptables 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 61616 -j ACCEPT 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8161 -j ACCEPT 

重启防火墙:service iptables restart

4、JAVA-DEMO

【1】创建一个maven工程引入jar

ActiveMQ学习

【2】发送消息

ActiveMQ学习

【3】查看消息是否发送成功

ActiveMQ学习

 

【4】接收消息

ActiveMQ学习

5、JMS

JMS是Java Message Service Java消息服务是JAVA EE中的一个技术。

JMS规范:JMS定义了Java中访问消息中间件的接口,并没有给予实现,实现JMS接口的消息中间件称为JMS Provider 。列如:ActiveMQ.

JMS Message:

(1)消息头:每个消息头字段都有相应的getter和setter方法。

(2)消息属性:除消息头字段以外的值,使用消息属性。

(3)消息体:封装具体的消息数据。

JMS Producer:消息生产者,创建和发送JMS消息的客户端应用。

JMS Consumer:消息消费者,接收和处理JMD消息的客户端应用。

消息消费两种方式:

(1)同步消费:通过调用消费者的receive方法从目的地中显示提取消息,receive方法可以一直阻塞到消息到达。

(2)异步消费:客户可以为消费者注册一个消息监听器,以定义在消息到达时所采取的动作。

JMS Domains 消费传递域:

(1)点对点(PTP):每个消息只能有一个消费者。消费的生成者和消费者之间没有时间上的相关性。无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取到消息。

(2)发布/订阅消息传递域:每个消息可以有多个消费者。生成者和消费者之间有时间上的相关性,订阅一个主体的消费者只能消费它订阅后的消息。JMS允许客户创建持久订阅,消费者可以在它未**的状态下消费消息。

注意:点对点消息域,目的地被称为队列。发布/订阅消息域目的地称为主题。

6、JMS可靠机制

JMS消息只有被确认之后,才认为是已经被成功消费了。消息的成功消费通常包含三个阶段:客户接收消息、客户处理消息和消息被确认。

以下都要在非事务的情况下:

Session.AUTO_ACKNOWLEDGE: 当客户成功的从receive方法返回的时候,或者从MessageListener.onMessage方法成功返回的时候,会话自动确认客户收到的消息确认收到消息。

Session.CLIENT_ACKNOWLEDGE:客户端需要调用message.acknowledge()方法确认消息,确认一个被消费的消息将会自动确认所有已被会话消费的消息。

7、非持久topic消息DEMO

发布消息

ActiveMQ学习

接收消息

ActiveMQ学习

8、持久化topic消息DEMO

发送者

ActiveMQ学习

 

消费者

ActiveMQ学习

9、Broker

Broker:相当于一个ActiveMQ服务器实例。

使用Broker嵌入式构建java应用:

【1】启动Broker服务,相当于启动一个ActiveMQ服务。

ActiveMQ学习

ActiveMQ学习

【2】修改发送地址和接收地址

ActiveMQ学习

【3】测试消息是否可以正常发送接收。

10、

相关文章:

  • 2022-01-06
  • 2021-04-20
  • 2021-08-01
  • 2021-07-26
  • 2021-04-13
  • 2021-06-08
  • 2022-01-05
猜你喜欢
  • 2022-01-08
  • 2022-01-07
  • 2021-11-01
  • 2021-08-11
  • 2021-08-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案