ActiveMQ

1. JMS消息模型
      • java Message service
    • P2P(Point to Point) 点对点模式
      • P2P模式包含三个角色

        • 消息队列(Queue)
        • 发送者(Sender)
        • 接收者(Receiver)

        解释:

        ​ 每个消息都被发送到一个特定的队列,接收者从队列中获取消息,队列保留着消息,直到它们被消费或超时

      • P2P的特点

        • 每个消息只能有一个消费者(即一旦被消费,消息就不在队列中)
        • 发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,他都不会影响到消息被发送到队列中(在时间上没有依赖性)
        • 接收者在成功接受消息之后需向队列应答成功
      • so

        • 如果希望发送的每一个消息都会被成功处理的话,那么需要P2P模式
    • 发布订阅模式 Publish/Subscribe(Pub/Sub)
      • 包含三个角色
        • 主题(Topic)
        • 发布者(Publisher)
        • 订阅者(Subscricber)
      • 特点
        • 每个消息可以有多个消费者
        • 发布者和订阅者之间有时间上的依赖性。针对每个主题(Topic)的订阅者,它必须创建一个订阅之后,才能消费发布者的消息
        • 为了消费消息,订阅者必须保持运行的状态
      • so
        • 为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接受到发布和的消息
        • 如果希望发送的消息可以被多个消费者处理的话,那么可以采用Pub和Sub模型
2. ActiveMQ Topic 消息失败重发
  • 即是我们的消息的接收方,没有成功的消费消息,我们要去要去重发这个消息,让我们的消费者可以消费到这个消息,这个机制就是我们的重发
  • JMS消息确认机制
    • 在Session中需要定义几个常量
      • AUTO_ACKNOWLEDGE = 1 //自动确认
      • CLIENT_ACKNOWLEDGE = 2 //客户端手动确认
      • DUPS_OK_ACKNOWLEDGE = 3 //自动批量确认
      • SESSION_TRANSACTED = 0 //事务提交并确认
  • 代码确认

  1. ActiveMQ Topic 消息持久化订阅
  • 持久化到文件(默认)

    • 在Conf文件夹中,查看是否有

      <persistenceAdapter>
      <kahaDB directory="${activemq.data}/kahadb"/>
      </persistenceAdapter>
  • 持久化到数据库(mysql数据库)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值