RabbitMQ能否实现类似于ActiveMQ的消息选择(过滤)器

AcitveMQ可以通过selector,配合前端的Stomp的header中的selector实现消息的过滤。

RabbitMQ生产者(JAVA)能否实现类似的效果,使得前端

    var headers = {ack: 'client', 'selector': "location = 'Europe'"};
                client.subscribe("/queue/test", message_callback, headers);

选择器生效,过滤出想要的信息。

0

2个回答

不支持。
不过你可以通过插件解决。
see this:
http://www.rabbitmq.com/jms-client.html

0
wangyun5583
执笔绘天下 你好 我用后台管理界面测试了这两种,好像还是无法实现过滤功能 jms.durable.queues jms.durable.topic 在如图所示的位置添加了header条件,前端Stomp的selector并没有生效,这是什么情况呢? ![图片说明](https://img-ask.csdn.net/upload/201811/20/1542682858_990610.jpg)
9 个月之前 回复
-1
wangyun5583
执笔绘天下 这篇文章答非所问啊
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
过滤器与消息选择器
[b]过滤器[/b] [code="java"]String filter = "(currentRate - newRate) >= 1.0"; TopicSubscriber subscriber = session.createSubscriber(topic, filter, true);[/code] 如上,设置了过滤器。比较简单,核心的地方是选择器上。支持加过滤器是在通过s...
ActiveMQ的消息过滤器
1、消息过滤器的简介       消息选择器的用法       MessageConsumer是一个Session创建的对象,用来从Destination接收消息       关于消息选择器       MessageConsumer createConsumer( Destination destination, String messageSelector )       Mes
消息队列RabbitMq的五种形式队列
MQ全称为Message Queue,消息队列是系统之间的通信方法; RabbitMQ是开源的,实现了AMQP协议的,采用Erlang(面向并发编程语言)编写的,可复用的企业级消息系统; AMQP(高级消息队列协议)是一个异步消息传递所使用应用层协议规范,为面向消息中间件设计,基于此协议的客户端与消息中间件可以无视消息来源传递消息,不受客户端、消息中间件、不同的开发语言环境等条件的
rabbitmq-关键字消息过滤
主题交换机 发送到主题交换机(topic exchange)的消息不可以携带随意什么样子的路由键(routing_key),它的路由键必须是一个由.分隔开的词语列表。这些单词随便是什么都可以,但是最好是跟携带它们的消息有关系的词汇。以下是几个推荐的例子:"stock.usd.nyse", "nyse.vmw", "quick.orange.rabbit"。词语的个数可以随意,但是不要超过255字
基于SignalR、ActiveMQ实现webform的实时消息广播
       什么是SignalR?       ASP.NET SignalR 是为.NET 开发者提供即时通讯Web 应用的类库。即时通讯Web服务就是服务器将内容自动推送到已经连接的客户端,而不是服务器等待客户端发起一个新的数据请求。      SignalR能够被运用到各种类型的即时响应应用。你完全可以运用SignalR实现一个在线即时聊天应用。当然SignalR也运用在用户需要随时更...
JMS学习四(ActiveMQ消息过滤)
前一篇文案中提到了消息的接收和发送持久化消息,这篇文章我们看看消息的过期、消息的选择器和消息的优先级。 一、消息的过期 允许消息过期 。默认情况下,消息永不会过期。如果消息在特定周期内失去意义,那么可以设置过期时间。  有两种方法设置消息的过期时间,时间单位为毫秒:  1.使用消息生产者的setTimeToLive 方法为所有的消息设置过期时间。 2.使用消息生产者的send 方法为每一
MSMQ、RabbitMQ、ActiveMQ消息队列调试工具
可用于调试MSMQ、RabbitMQ、ActiveMQ三种消息队列 其中MSMQ支持Active、Binary、XML格式(要勾选事务) RabbitMQ支持逐条接发、批量接发、RPC回调模式、新建队列、建立持久化队列、连接测试等功能。
两种常用的消息中间件(activemq和rabbitmq)
1.什么是消息中间件 举一个例子:假如我们都关注了亚洲航空的微信公众号,每当它发布新的优惠活动或者开通新的航线时,我们都可以收到这个公众号的通知,这就是一种广播订阅的模式。 公众号就是通过消息中间件来完成的 航空公司把编辑好的活动推送发给微信消息中间件的服务器,然后关注了这个公众号的粉丝手机上的微信消息中间件的客户端,就会自动去把消息获取出来显示。 2.目前的消息中间件有很多种,最常用的就是Act...
ActiveMQ中的消息重发时间间隔和重发次数吗?
首先,我们得大概了解下,在哪些情况下,ActiveMQ服务器会将消息重发给消费者,这里为简单起见,假定采用的消息发送模式为队列(即消息发送者和消息接收者)。       1.如果消息接收者在处理完一条消息的处理过程后没有对MOM进行应答,则该消息将由MOM重发.       2.如果我们队某个队列设置了预读参数(consumer.prefetchSize),如果消息接收者在处理第一条消
【中间件】消息队列(一):RabbitMQ、ActiveMQ、Kafka和Redis
消息队列中间件
activeMQ之消息过滤
这两天在看activeMQ,之前用到过,但是没有很系统的去学习,今天看到里边有个消息过滤,之前不了解,这次记录下来,后续有其他的还会再补充。 1、发送消息放入特殊标志: message.setStringProperty(name, value); 2、接收消息使用基于特殊标志的消息选择器: MessageConsumer createConsumer(Destination destin
Activemq 使用Stomp方式接收、过滤 topic 数据
因业务需要,本人在测试机上部署了一个activemq。突然奇想 要用 Stomp方式请求 TOPIC 数据。 打开activemq stomp 文档,发现内容十分的节省啊,不过还好给了两个demo.
rabbitmq 实现消息插队
rabbitmq 实现消息插队,以多人投资为例子,手动投资优先于自动投资都进入消息队列,进行消息插队处理
消息中间件kafka与activemq、rabbitmq、zeromq、rocketmq的比较
消息中间件kafka与activemq、rabbitmq、zeromq、rocketmq的比较
使用RabbitMQ死信实现延迟消息
spring boot 配置, Rabbitmq集成, 利用死信 实现延时消息队列实现
极光推送和MQ通信
1、RemMobileClient包含极光推送和MQ通信 2、RemMobileService包含数据库访问和MQ通信
GoldenGate实时同步DB变更数据到ActiveMQ JMS队列
GoldenGate实时同步DB变更数据到ActiveMQ JMS队列
大数据互联网架构阶段 QuartZ定时任务+RabbitMQ消息队列
QuartZ定时任务+RabbitMQ消息队列 一 、QuartZ定时任务解决订单系统遗留问题 情景分析: 在电商项目中 , 订单生成后 , 数据库商品数量-1 , 但是用户迟迟不进行支付操作 , 这样不仅导致没有生成效益, 而且导致后来的用户无法购买的问题 。 这种情况的订单成为恶意订单 解决方案: 早期: 虚拟商品数量 , 数量减到0时 ,仍然可以减。 但是这种办法显然没有根本的...
mq 消息最大长度 最大是100M
( QueueManager => "$QueueManager", ClientConn => { 'ChannelName' => "$ChannelName", 'TransportType' => 'TCP', # Default 'ConnectionName' =
四种常用消息中间件比较分析(RabbitMQ、ActiveMQ、Kafka、RocketMQ)
一、 消息队列   1. 分布式应用与集群的区别:    如果是一个业务被拆分成多个子业务部署在不同的服务器上,那就是分布式应用;如果是同一个业务部署在多台服务器上,那就是集群。   2. 系统间通信方式:    一种是基于远程过程调用的方式(如RPC调用);另一种是基于消息队列的方式。   3. 设计一个简单的消息队列:    笔者自己搞了一个简单的消息队列,gitee地址如下:    http...
易学笔记-RabbitMQ教程4:选择性接收消息(路由器类型为:direct)
RabbitMQ教程4:选择性接收消息 代码基础: 易学笔记-RabbitMQ教程3:一个消息发给所有消费者(路由器类型为:fanout) 交换器(路由器): Exchange 选择 “direct”,而不是“fanout”  channel.basicPublish(EXCHANGE_NAME,severity,第二个参数 severity 为关键字 临时队列 channel.q...
MQ如何解决消息的顺序问题和消息的重复问题
作者:CHEN川链接:http://www.jianshu.com/p/453c6e7ff81c來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、摘要分布式消息系统作为实现分布式系统可扩展、可伸缩性的关键组件,需要具有高吞吐量、高可用等特点。而谈到消息系统的设计,就回避不了两个问题:1、消息的顺序问题2、消息的重复问题二、关键特性以及其实现原理2.1、顺序消息要实现...
zookeeper+activemq实现高可用消息队列
使用ZooKeeper实现的Master-Slave实现方式,是对ActiveMQ进行高可用的一种有效的解决方案,高可用的原理:使用ZooKeeper(集群)注册所有的ActiveMQ Broker。只有其中的一个Broker可以对外提供服务(也就是Master节点),其他的Broker处于待机状态,被视为Slave。如果Master因故障而不能提供服务,则利用ZooKeeper的内部选举机制会从
ActiveMQ 、RabbitMQ、kafka 消费模式的情况
介绍: 1. ActiveMQ 和 kafka 都是Apache的顶级项目。 2. ActiveMQ支持事物,RabbitMQ和kafka不支持事物。 3. ActiveMQ、kafka、RabbitMQ 都支持集群、负载均衡。 4. kafka 支持动态扩容,通过zookeeper实现的。(如果不支持动态扩容,就意味若生成环境的服务,达到阈值时必须停止服务器再扩容)。 5. ActiveM...
RabbitMQ的订阅和发布步骤详解
一、关于RabbitMQ搭建和基本概念这里不做介绍,下面给出实用的参考博客 RabbitMQ基础概念及详细介绍参考文档:http://blog.csdn.net/whycold/article/details/41119807 RabbitMQ入门及环境的搭建:http://m.blog.csdn.net/article/details?id=50487028 RabbitMQ网
05_ActiveMQ_签收模式
/创建Session,第一个参数是否启用事务,第二个参数配置签收模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);Session.AUTO_ACKNOWLEDGE 消息自动签收Session. 客户端调用acknowledge方法手动签收Session.DUPS_OK_ACKNOWLEDGE...
用于处理日志的分布式消息系统Kafka(吞吐量高于ActiveMQ和RabbitMQ)
1、几个重要概念 1.1 topic 1.2 broker 1.3 consumer pull message,不是broker push消息给消费者,这样做的另一个特点是,消费者可以绕过当前偏移位的消息,去消费其他偏移位上的消息。和传统的方式不一样。 1.4 consumer可以订阅1个或者多个topic broker不记录消息的ID(或者说没有消息ID),通过offset和消息的大小...
Flume 读取JMS 消息队列消息,并将消息写入HDFS
Flume 读取JMS 消息队列消息,并将消息写入HDFS
MQ、Dubbo 区别以及使用场景
MQ:消息队列。生产者消费者模式,可用于对消息实时性要求不高的场景。多进程之间间接调用关系 Dubbo:RPC实现。多进程之间直接调用关系
RabbitMQ如何对消费端进行限流
https://www.cnblogs.com/haixiang/p/10905189.html 假设一个场景,首先,我们 Rabbitmq 服务器积压了有上万条未处理的消息,我们随便打开一个消费者客户端,会出现这样情况: 巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据! 当数据量特别大的时候,我们对生产端限流肯定是不科学的,因为有时候并发量就是特别大,有时候并发量又特别少,...
消息队列是先进先出
操作系统给应用程序创建一个消息队列,队列是先进先出。
选择你的消息协议 AMQP, MQTT,STOMP
原文: https://blogs.vmware.com/vfabric/2013/02/choosing-your-messaging-protocol-amqp-mqtt-or-stomp.html 当我讨论软件架构主题时,我被问的最常多的一个问题就是是当前存在的各种应用程序消息传递协议之间的区别 - 诸如协议如何和为什么出现,以及在特定应用程序中应该使用哪一个的问题。 他们的问题是...
MQTT+ActiveMQ实现消息推送(移动端)
这个小程序是我导师给我布置的一个任务,网上教程不是很多,遇到的一些困难都是自己解决的,所以写出来分享一下,有什么问题大家可以留言,尽力帮大家解决。首先,我们需要先下载activeMQ (官网:http://activemq.apache.org/download.html)来到解压目录下,进入bin目录下的win64文件夹(如何是32位机器则进入win32),运行activemq.bat。如果出现
初探消息中间件Kafka、ActiveMQ、RabbitMQ、RocketMQ的优缺点
我们在开发软件的时候,经常会用到消息队列,凭借其自身的特点,可以在满足业务需求的前提下,一定程度上系统的抗压性,但是消息队列使用不当或者是选择不当,效果可能不会那么好,所以我们有必要了解消息队列的优缺点。 1、优点:解耦、异步、削峰 解耦:解除俩个系统的耦合度,凭借中间层,减少俩个系统直接调用的耦合度。 异步:系统直接的调用由同步变成了异步,例如系统A、B、C,系统生产的消息不仅可以提供给B...
ActiveMQ消息过滤消息(JDBC)持久化
ActiveMQ 消息持久化 activeMQ默认支持持久化方式:kahadb leavedb jdbc,默认kahadb ,其中kahadb leavedb 都是内存级的持久化方式,性能更好一些,如果并发量并不是很高的情况下,可以选择JDBC,优点不言而喻,查看简单。 配置如下(本次以ORACLE为例): 1. 将JDBC驱动包拷贝到apache-activemq-5.14.1\lib
SpringBoot+ActiveMq实现点对点(Queue)消息队列
上篇博文主要分析了三种不同的请求方式,其中提到了基于消息队列的请求,当然只是从理论的角度去进行了分析,本篇博文就再次结合具体实现来说说消息队列。 一、什么是消息队列? 作为中间件,消息队列是分布式应用间交换信息的重要组件。消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列,应用程序可以在不知道彼此位置的情况下独立处理消息,或者在处理消息前不需要等待接收此消息...
消息队列ActiveMQ,RabbitMQ,RocketMQ,Kafka性能,优缺点对比。
特性 ActiveMQ RabbitMQ RocketMQ Kafka 单机吞吐量 万级,吞吐量比RocketMQ和Kafka要低了一个数量级 万级,吞吐量比RocketMQ和Kafka要低了一个数量级 10万级,Ro...
[MQ]为什么要使用消息
为什么使用消息队列 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带给了你很多的好处。 先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。 解耦...
activeMQ消息发送过程与原理浅析
这篇文章重点分析使用JMS向activeMQ中间件发送消息的过程分析。 同步发送与异步发送 activeMQ发送消息客户端发送消息分为同步发送与异步发送 同步发送,发送者发送一条消息会阻塞直到broker反馈一个确认消息给发送者,表示消息已经被broker处理。这个机 制提供了消息的安全性保障,由于是阻塞的操作,会影响到客户端消息发送的性能。 异步发送,发送者不需要等待broker提供反馈...
ActiveMQ——2.消息的接收方式以及选择器
消息的接收方式 概述 消息有两种接收方式:同步接收和异步接收。 同步接收:主线程阻塞式等待下一个消息的到来,可以设置timeout,超时则返回null。 异步接收:主线程设置MessageListener,然后继续做自己的事,子线程负责监听。 同步接收又称为阻塞式接收;异步接收又称为事件驱动的接收。 API 同步接收,是在获取Messa