ActiveMQ的Destination高级特性 Destination高级特性----->Composite Destinations 组合队列Composite Destinations : 允许用一个虚拟的destination代表多个destinations,这样就可以通过composite destinations在一个操作中同时向多个queue/topic发送消息. 有两种实现方式: 第一种:在客户端编码实现 第二种:在activemq.xml配置文件中实现 第一种:在客户端编码实现…
虚拟destination用来创建逻辑destination,客户端可以通过它来生产和消费消息,它会把消息映射到物理destination. ActiveMQ支持2种方式: 1:虚拟主题(Virtual Topics) 2:组合Destinations(Composite Destinations) 为什么使用虚拟主题? ActiveMQ只有在持久订阅才是持久化的.持久订阅时,每一个持久订阅者,都相当于一个queue的客户端,它会收取所有消息.这种情况下存在两个问题: 第一:同一应用内消费者端护…
使用filtered destinations,在xml配置如下: <destinationInterceptors> <virtualDestinationInterceptor> <virtualDestinations> <compositeQueue name="MY.QUEUE"> <forwardTo> <filteredDestination selector="odd='yes'" q…
Message dispatch高级特性之 Message cursors概述            ActiveMQ发送持久消息的典型处现方式是:当消息的消费者准备就绪时,消息发送系统把存储的 消息按批次发送给消费者,在发送完一个批次的消息后,指针的标记位置指向下一批次待发送消息的位 置,进行后续的发送操作.这是一种比较健壮和灵活的消息发送方式,但大多数管况下,消息的消费者 不是一直处于这种理想的活跃状态            因此,从 ActiveMQ5.0.0版本开始,消息发送系统采用一种…
ActiveMQ的集群Queue consumer clusters              ActiveMQ支持 Consumer对消息高可靠性的负载平衡消费,如果一个 Consumer死掉,该消息会转发到其它的 Consumer消费的 Queue上.如果一个 Consumer获得消息比其它Consumer快,那么他将获得更多的消息. 因此推荐 ActiveMQ的 Broker和Client使用failover://transport的方式来配置链接. Broker clusters   …
容错的链接Failover Protocol 前面讲述的都是client配置链接到指定的 broker上.但是,如果 Broker的链接失败怎么办呢?此时, Client有两个选项:要么立刻死掉,要么去连接到其它的 broker上. Failover协议实现了自动重新链接的逻辑.这里有两种方式提供了稳定的 brokers列表对于Client链接.第一种方式:提供一个 static的可用的 Brokers列表.第二种方式:提供一个 dynamic发现的可用 BrokersFailover Prot…
1.    Composite Destinations  组合目的地 组合队列Composite Destinations : 允许用一个虚拟的destination代表多个destinations,这样就可以通过composite destinations在一个操作中同时向多个queue/topic发送消息. 有两种实现方式: 第一种:在客户端编码实现 第二种:在activemq.xml配置文件中实现 第一种:在客户端编码实现 在composite destinations中,多个desti…
“丢失”的消息 有这样的场景, broker1和 broker2通过 netwoskconnector连接,一些 consumers连接到 broker1,消费 broker2上的消息.消息先被 broker1从 broker2上消费掉,然后转发给这些 consumers.不幸的是转发部分消息的时候 broker1重启了,这些 consumer发现 broker1连接失败,通过 failover连接到 broker2上去了,但是有一部分他们还没有消费的消息被 broker2已经分发到了 brok…
操作如下: 1:把整个conf文件夹复制一份,比如叫做conf22:修改里面的 activemq.xml文件(1)里面的 brokerName不能跟原来的重复(2)数据存放的文件名称不能重复,比如:<kahaDB directory="${activemq. data}/kahadb "/> (3)所有涉及的 transportConnectors的端口,都要跟前面的不一样 代码如下: conf  ----->activemq.xml <!-- Licensed…
ActiveMQ的消息存储持久化■概述ActiveMQ不仅支持 persistent和 non-persistent两种方式,还支持消息的恢复( recovery)方式PTPQueue的存储是很简单的,就是一个FIFO的 Queue图1-1 PUB/SUB对于持久化订阅主题,每一个消费者将获得一个消息的复制图1-2 有效的消息存储ActiveMQ提供了一个插件式的消息存储,类似于消息的多点传播,主要实现了如下几种:1:AMQ消息存储-基于文件的存储方式,是以前的默认消息存储2: KahaDB消息…