ActiveMQ学习

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

【2】下载 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/]

出现这样的界面表示安装并启动成功。【账号和密码都是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

【2】发送消息

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

 

【4】接收消息

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

发布消息

接收消息

8、持久化topic消息DEMO

发送者

 

消费者

9、Broker

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

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

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

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

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

10、SpringBoot整合ActiveMQ

生产者:

pom.xml

yml文件

MqConfig.java

produce.java

消费者:

pom.xml

yml文件

Consumer.xml

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值