activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary Tully (JIRA)" <>
Subject [jira] [Resolved] (AMQ-2324) Forwarded message cannot be distributed to the original broker
Date Mon, 04 Jul 2011 13:31:27 GMT


Gary Tully resolved AMQ-2324.

    Resolution: Fixed

New policy entry that supplies the network bridge filter factory for a destination. It is
possible to plug in your own value via a spring bean that implements the
interface if you need richer conditionals.

It supports replay back to origin if there are no local consumers. A optional replayDelay
based on the broker in time of a message. An optional throttle option that can limit dispatch
to a network subscription, rateLimit/rateDuration. ReplayDelay and rateDuration are milisecond
values. The throttle options is handy in the case of a statically included destination where
the network bridge is starving local consumers.

schema{code}<xs:element name='conditionalNetworkBridgeFilterFactory'>
      <xs:attribute name='rateDuration' type='xs:integer'/>
      <xs:attribute name='rateLimit' type='xs:integer'/>
      <xs:attribute name='replayDelay' type='xs:integer'/>
      <xs:attribute name='replayWhenNoConsumers' type='xs:boolean'/>{code} 

> Forwarded message cannot be distributed to the original broker
> --------------------------------------------------------------
>                 Key: AMQ-2324
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 5.2.0
>            Reporter: ying
>            Assignee: Gary Tully
>             Fix For: 5.6.0
> I have a simple cause which can cause dispatch problem:
> 1. setup a network of broker1, broker2, bridged by multicast discovery
> 2. make a producer send 5 msg to queueA to broker2
> 3. make a consumer to consume from broker1 queueA ( make it slow, so it only consumer
1 msg) but make sure all 5 msg from broker2 are forwared to broker1
> 4. stop the consumer to broke1, restart it to consume from broker2 queueA
> 5. the 4 msgs originally published to broker2 and forwarded to broker1 and has not yet
been consumed will stuck on broker1 and will not forwarded to broker2 for the consumer to
> Here is an solution: it checks forwarded to broker( eg, broker1) to see whether it has
any active consumer, it will be able forward the message back to the original broker when
there is no active consumer on the forwarded to broker.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message