[
https://issues.apache.org/jira/browse/AMQ-2324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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 org.apache.activemq.network.NetworkBridgeFilterFactory 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:complexType>
<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: https://issues.apache.org/jira/browse/AMQ-2324
> 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 consume.
> 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: http://www.atlassian.com/software/jira