一、消息的传递类型
- 点对点:即一个生产者和一个消费者一一对应
PTP的过程好比是两个人打电话,这两个人独享这一条通信链路。一方发送消息,另外一方接收
消息
。在实际应用中因为有多个用户对使用
PTP
的链路,它的通信场景如下图所示:
- 发布/订阅:即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
发布订阅模式类似听广播,一个播音员广播,可以有很多听众同时收听。这种关系如下图所示:
二、消息的正文格式
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
- StreamMessage Java原始值的数据流
- MapMessage 一套名称-值对
- TextMessage 一个字符串对象
- ObjectMessage 一个序列化的 Java对象
- BytesMessage 一个字节的数据流
-----------------------------------------------------------------------------------------------------------------------------
一、创建Maven测试项目
二、pom.xml
<dependencies>
<!-- 消息队列 -->
<dependency>
<groupId>org.apache.activemq
</groupId>
<artifactId>activemq-all
</artifactId>
<version>5.11.3
</version>
</dependency> </dependencies> |
三、生产者(消息发送者)
第一步:创建ConnectionFactory对象,需要指定服务端ip及端口号。
第二步:使用ConnectionFactory对象创建一个Connection对象。
第三步:开启连接,调用Connection对象的start方法。
第四步:使用Connection对象创建一个Session对象。
第五步:使用Session对象创建一个Destination对象(topic、