JMS学习四(ActiveMQ消息过滤)】的更多相关文章

一,介绍 自ActiveMQ5.4以来,KahaDB成为了ActiveMQ默认的持久化存储方式.相比于原来的AMQ存储方式,官方宣称KahaDB使用了更少的文件描述符,并且提供了更快的存储恢复机制. 二,KahaDB存储配置 在 conf/activemq.xml 中配置如下: <broker brokerName="broker" ... > <persistenceAdapter> <kahaDB directory="activemq-da…
一.消息的选择器 不管是在消息发送端设置消息过期时间还是在接收端设置等待时间,都是对不满足的消息有过滤的作用,那消息选择器就是为过滤消息而生的下面来看看消息选择器: ActiveMQ提供了一种机制,使用它,消息服务可根据消息选择器中的标准来执行消息过滤.生产者可在消息中放入应用程序特有的属性,而消费者可使用基于这些属性的选择标准来表明对消息是否感兴趣.这就简化了客户端的工作,并避免了向不需要这些消息的消费者传送消息的开销.然而,它也使得处理选择标准的消息服务增加了一些额外开销. 消息选择器是用于…
ActiveMQ是一个消息中间件,对于消费者而言有两种方式从消息中间件获取消息: ①Push方式:由消息中间件主动地将消息推送给消费者:②Pull方式:由消费者主动向消息中间件拉取消息.看一段官网对Push方式的解释: To be able to achieve high performance it is important to stream messages to consumers as fast as possible so that the consumer always has a…
前言 ActiveMQ提供了一种机制,使用它,消息服务可根据消息选择器中的标准来执行消息过滤.生产者可在消息中放入应用程序特有的属性,而消费者可使用基于这些属性的选择标准来表明对消息是否感兴趣.这就简化了客户端的工作,并避免了向不需要这些消息的消费者传送消息的开销.然而,它也使得处理选择标准的消息服务增加了一些额外开销. 消息选择器是用于MessageConsumer的过滤器,可以用来过滤传入消息的属性和消息头部分(但不过滤消息体),并确定是否将实际消费该消息.消息选择器是一些字符串,它们基于某…
一,消息的持久化和非持久化 ①DeliveryMode 这是传输模式.ActiveMQ支持两种传输模式:持久传输和非持久传输(persistent and non-persistent delivery),默认情况下使用的是持久传输. 可以通过MessageProducer 类的 setDeliveryMode方法设置传输模式: MessageProducer producer = ...; producer.setDeliveryMode(DeliveryMode.PERSISTENT); 持…
一,介绍 本文介绍一个简单的聊天应用程序:生产者将消息发送到Topic上,然后由ActiveMQ将该消息Push给订阅了该Topic的消费者.示例程序来自于<JAVA 消息服务--第二版 Mark Richards著> 二,项目开发环境搭建 ①使用Eclipse新建一个JAVA工程:jms_activemq ②添加依赖包:activemq-all-5.13.2.jar ③创建JNDI文件: jndi.properties,并将之放到classpath下(即eclipse项目的 src 目录).…
原文地址:http://www.cnblogs.com/hapjin/p/5663024.html 一,ActiveMQ高可用性的架构 ActiveMQ的高可用性架构是基于Master/Slave 模型的.ActiveMQ总共提供了四种配置方案来配置HA,其中Shared Nothing Master/Slave 在5.8版本之后不再使用了,并在ActiveMQ5.9版本中引入了基于Zookeeper的Replicated LevelDB Store HA方案. 二,Master/Slave架构…
一.简介 Queue中的消息是按照顺序被分发到consumers的.然而,当你有多个consumers同时从相同的queue中提取消息时, 你将失去这个保证.因为这些消息是被多个线程并发的处理.有的时候,保证消息按照顺序处理是很重要的. 如,你可能不希望在插入订单操作结束之前执行更新这个订单的操作. 二.使用 ActiveMQ从4.x版本起开始支持Exclusive Consumer. Broker会从多个consumers中挑选一个consumer来处理queue中 所有的消息,从而保证了消息…
一种分类是推和拉 . 还有一种分类是 Queue 和 Pub/Sub . 先看的这一篇:http://blog.csdn.net/heyutao007/article/details/50131089 先讲了JMS和遵守JMS的ActiveMQ.Java Message Service,JMS,指的是面向消息中间件(MOM),用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. JMS中定义了两种消息模型:点对点(point to point, queue)和发布/订阅(publish…
下面我们来学习一下消息接受确认和发送持久化消息.消息的过期.消息的选择器和消息的优先级. 一.消息接收确认 1.jms消息只有在被确认之后才认为成功消费了这条消息.消息的成功消费通常包括三个步骤:(1).client接收消息 (2).client处理消息 (3).消息被确认(也就是client给一个确认消息) 不管是事务性会话还是非事务性会话,第一步和第二步都一样但第三步有所不同 2.在事务性会话中当一个事务被提交的时候,确认自动发生,和应答模式没关系,这个值可以随便写.(这里多提一句异步消息接…