资料来源::blog.csdn.net/jiuqiyuliang/article/details/46701559 http://blog.csdn.net/jiuqiyuliang/article/details/47160259
JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。
消息模型有两种形式:
1,point-to-point(p2p)点对点
2,publish/Subscribe(Pub/Sub)发布订阅
1>P2P模式
消息队列(Queue) 发送者(Sender) 接受者(Receiver)
每个消息都被发送到一个特定的队列里边,接收者从队列里边接受消息,保留在队列里边的消息,知道他们被消费或者超时。
P2P特点:
1,每一个消息只能被一个接收者消费(一旦被消费之后,就不存在消息队列中了)
2,发送者和接收者在时间上没有依赖性,就是发送者发送消息的时候不管接收者在不在运行都可以,都不会影响发送者发送消息到队列
3,接收者在接收到消息之后需要向消息队列应答成功
2>pub/sub模式
主题(topic)
发布者(publisher)
订阅者(subscriber)
多个发布者将消息发送到主题,再有系统蒋消息传送给多个订阅者
pub/sub特点
1,每个消息可有多个消费者(多个订阅者获得消息)
2,发布者和订阅者在时间上是有依赖性的。针对某个主题的订阅者,他必须创建一个订阅者之后才能消费这个消息,并且为了消费消息,订阅者必须保持运行的状态
3,为了缓和这个时间上的依赖性,jms允许订阅者创建一个持久化的订阅,这样,即使订阅者没有被激活(运行),也能接收到消息。