JMS(java消息服务)
1、什么是JMS?
JMS = Java Message Service (java消息服务) 类似于JDBC(java Database Connectivity)
是java中面向消息中间件的API
主要有两种消息模式:
1、订阅,通过消息代理(Broker),以广播的方式,把消息发送给订阅了该消息的消费者
2、点对点 ,通过QUEUE,在生产者和消费者之间,一对一的进行消息的传输
2、消息的结构:
1、头:
每天消息都必须具有消息头。头字段包含用于路由和识别消息的值。可以通过多种方式来设置消息头的值:
- 由jms提供者在生成或者传输的过程中自动设置。
- 有生产者通过创建消息生产者时设置,或者逐一对每条消息进行设置。
2、属性:
消息的可选属性。他们以key=value的形式
3、消息的body:
消息分为六种类型:
简单文本 TextMessage
可序列化的对象 ObjectMessage
属性集合 MapMessage
字节流 BytesMessage
原始流值 StreamMessage
无有效负载的消息 Message
3、JMS的主要组件:
Broker 消息代理,提供消息的接收、分发功能,是消息通信的核心服务
Producer 生产者,消息的发起者,负责生产消息,并传输给broker或者Consumer或者Topic
Consumer 消费者,消息的处理方,并进行业务逻辑的处理。
Topic 主题,订阅模式下消息的统一收集地,不同生产者向Topic发送消息,由Broker分发到不同的订阅者,实现消息的广播
Queue 队列,点对点模式,特定生产者向特定队列发送消息,消费者订阅特定队列接收消息并进行业务逻辑处理
Message 消息体(如上,有六种),是消息的载体。