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