ActiveMQ

这里写图片描述
ActiveMQ的消息形式
对于消息的传递有两种类型:
一种是点对点的,即一个生产者和一个消费者一一对应;
另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
  · StreamMessage – Java原始值的数据流
  · MapMessage–一套名称-值对
  · TextMessage–一个字符串对象
  · ObjectMessage–一个序列化的 Java对象
  · BytesMessage–一个字节的数据流
安装
第一步: 把ActiveMQ 的压缩包上传到Linux系统。
第二步:解压缩。
第三步:启动。
使用bin目录下的activemq命令启动:
[[email protected] bin]# ./activemq start
关闭:
[[email protected] bin]# ./activemq stop
查看状态:
[[email protected] bin]# ./activemq status
注意:如果ActiveMQ整合spring使用不要使用activemq-all-5.12.0.jar包。建议使用5.11.2
进入管理后台:
http://192.168.25.168:8161/admin
用户名:admin
密码:admin
解决405问题:
修改hosts文件,配置机器名和127.0.0.1的映射关系。
机器名:/etc/sysconfig/network文件中定义了机器名:
这里写图片描述
Host文件的配置:
这里写图片描述
重新启动Activemq的服务
使用方法
这里写图片描述
Queue
Producer
生产者:生产消息,发送端。
把jar包添加到工程中。使用5.11.2版本的jar包。
第一步:创建ConnectionFactory对象,需要指定服务端ip及端口号。
第二步:使用ConnectionFactory对象创建一个Connection对象。
第三步:开启连接,调用Connection对象的start方法。
第四步:使用Connection对象创建一个Session对象。
第五步:使用Session对象创建一个Destination对象(topic、queue),此处创建一个Queue对象。
第六步:使用Session对象创建一个Producer对象。
第七步:创建一个Message对象,创建一个TextMessage对象。
第八步:使用Producer对象发送消息。
第九步:关闭资源。
Consumer
消费者:接收消息。
第一步:创建一个ConnectionFactory对象。
第二步:从ConnectionFactory对象中获得一个Connection对象。
第三步:开启连接。调用Connection对象的start方法。
第四步:使用Connection对象创建一个Session对象。
第五步:使用Session对象创建一个Destination对象。和发送端保持一致queue,并且队列的名称一致。
第六步:使用Session对象创建一个Consumer对象。
第七步:接收消息。
第八步:打印消息。
第九步:关闭资源
Topic Producer 使用步骤: 第一步:创建ConnectionFactory对象,需要指定服务端ip及端口号。 第二步:使用ConnectionFactory对象创建一个Connection对象。 第三步:开启连接,调用Connection对象的start方法。 第四步:使用Connection对象创建一个Session对象。 第五步:使用Session对象创建一个Destination对象(topic、queue),此处创建一个Topic对象。 第六步:使用Session对象创建一个Producer对象。 第七步:创建一个Message对象,创建一个TextMessage对象。 第八步:使用Producer对象发送消息。 第九步:关闭资源。 Consumer 消费者:接收消息。 第一步:创建一个ConnectionFactory对象。 第二步:从ConnectionFactory对象中获得一个Connection对象。 第三步:开启连接。调用Connection对象的start方法。 第四步:使用Connection对象创建一个Session对象。 第五步:使用Session对象创建一个Destination对象。和发送端保持一致topic,并且话题的名称一致。 第六步:使用Session对象创建一个Consumer对象。 第七步:接收消息。 第八步:打印消息。 第九步:关闭资源