JMS的一些概念

JMS Java消息服务,JMS的client可以通过它进行异步通信,什么是异步,简单的说就是client对server发出了一个request,不用一直等待,可以继续后面的工作,server会自动帮你搞定。JMS有两种消息模型:P2P和Pub/Sub,翻译成中文就是 点对点和发布/订阅。
P2P
有3个部分,消息队列(Queue),发送者(Sender),接收者(Receiver)其中接收者也可以称为消费者(Consumer);过程大致这样,发送者发消息到一个特定的消息队列,队列暂时保存着消息,然后等待消费者来消费或者超时;
1每个消息只有一个Consumer(一旦被消费,就从队列中移除)
2发送者和消费者在时间上没有依赖性
3消费者在成功收到消息后要对消息队列表示应答成功
1,3就不用解释了;2的话什么叫时间上没有依赖性了?就是发送者发完后,不用理会当前是否有Consumer在运行,这都不会影响消息正常发送到队列。
可以联想一下QQ聊天

Pub/Sub
也是3个部分,主题(Topic),发布者(Publisher),订阅者(Subscriber).一般过程是多个发布者将消息发布到主题,多个订阅者订阅这些主题
1每个消息可以有多个Subsciber
2发布者和消息者有时间上的依赖性(如果当前主题中有消息,而某个Subscriber没有运行,当消息超时以后,即使这个Subscriber再运行也消费不到这条消息了)
当然,为了克服这个严格限制,JMS有一种可持久化的订阅

在JMS中,消息的产生和消费是异步的,但对于消费者来说它有同步和异步两种方式
同步-订阅者或者接收者调用receive方法来接收消息,此方法在接收到消息之前将一直阻塞直到超时。
异步-订阅者或者接收者注册为一个消息接听器,当消息到达后,系统会自动的调用监听器的onMessage方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值