进一步了解ActiveMQ

进一步了解ActiveMQ

    一、JMS选择器

    在生产端发送消息的时候,可以对每一个消息设置属性,大概有以下的方法,可以设置int类型、boolean类型、byte类型等的key-value对应的属性:


    设置完成后,可以在消费时,加入类似于“age>25”的条件,在创建消费者时进行筛选。

    大致过程如下:

  1. 生产端代码段:

  2. 消费端代码段:

    二、消息的接受方式

    我们在文一中介绍消费者的接受方式是使用调用receive阻塞去等待消息服务器发送消息,此方式为同步,并不优雅,我们可以通过注册监听器的方式实现消息的接受:

    

    此异步,其实就是新建了一个线程轮询着观察。

    三、持久化订阅

    发布/订阅模式是一种一对多的消息传播方式,但是对订阅者来说有一个要求,需要在消息发布之前,便启动订阅,也就意味着订阅者需要始终处于运行状态。

    那么,如果订阅者此时未能运行该如何呢?这就引出了持久化订阅。

    持久化订阅的意思是,即使订阅者当时没有处于运行状态,但是,可以先将订阅内容持久化,等到订阅者运行时,再将订阅内容接受,代码如下:

    

    每一个需要持久化的订阅者需要有唯一客户端ID。

猜你喜欢

转载自blog.csdn.net/that_is_cool/article/details/80726251