You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by mr12345 <ma...@ymail.com> on 2011/11/17 10:51:44 UTC
NetworkOfBrokers/VirtualTopic - duplicates
AMQ 5.4
<amq:networkConnectors>
<amq:networkConnector
uri="static:(tcp://the.other.broker)"
conduitSubscriptions="true" duplex="false"
dynamicOnly="false"
suppressDuplicateQueueSubscriptions="true"
suppressDuplicateTopicSubscriptions="true"
decreaseNetworkConsumerPriority="false">
<amq:excludedDestinations>
<amq:queue physicalName="Consumer.*.VirtualTopic.>"/>
</amq:excludedDestinations>
</amq:networkConnector>
</amq:networkConnectors>
1. Network of 2 brokers, B1 and B2
2. Single consumer C, connected via failover protocol to B1
*3. Message sent to VirtualTopic VT on B1*
4. Message received by C via Consumer.C.VT queue on B1, nothing left in the
queue B1
*5. Message duplicated in Consumer.C.VT queue on B2
6. Reconnect consumer to B2 - duplicate messages delivered from B2*
similarly
*3. Message sent to VirtualTopic VT on B2*
4. Message received by C via Consumer.C.VT queue on B1, nothing left in the
queue B1
*5. Message duplicated in Consumer.C.VT queue on B2
6. Reconnect consumer to B2 - duplicate messages delivered from B2*
conclusion
- Messages get removed only from the physical queue the consumer is
currently connected to
- Messages pile up in the queue on the broker the consumer is not currently
connected to
is this expected? I can set message expiry, but it would still be in hours,
which would introduce crazy amount of duplication.
--
View this message in context: http://activemq.2283324.n4.nabble.com/NetworkOfBrokers-VirtualTopic-duplicates-tp4079456p4079456.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: NetworkOfBrokers/VirtualTopic - duplicates
Posted by mr12345 <ma...@ymail.com>.
Gary,
I'm not sure if this is something that you've had in mind?
<amq:networkConnector
uri="static:(tcp://the.other.broker)"
conduitSubscriptions="true" duplex="false"
dynamicOnly="false"
suppressDuplicateQueueSubscriptions="true"
suppressDuplicateTopicSubscriptions="true"
decreaseNetworkConsumerPriority="false">
<amq:excludedDestinations>
<amq:topic physicalName="VirtualTopic.Orders"/>
</amq:excludedDestinations>
</amq:networkConnector>
With this config, the messages sent to the broker that the consumer is not
currently connected to are not being forwarded at all.
mr
--
View this message in context: http://activemq.2283324.n4.nabble.com/NetworkOfBrokers-VirtualTopic-duplicates-tp4079456p4080696.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: NetworkOfBrokers/VirtualTopic - duplicates
Posted by Gary Tully <ga...@gmail.com>.
you should exclude the topic from the network and allow the virtual
queues to propagate in this case.
There was also a recent change on trunk to make a virtual topic local only.
see: https://issues.apache.org/jira/browse/AMQ-3550
On 17 November 2011 09:51, mr12345 <ma...@ymail.com> wrote:
> AMQ 5.4
>
> <amq:networkConnectors>
> <amq:networkConnector
> uri="static:(tcp://the.other.broker)"
> conduitSubscriptions="true" duplex="false"
> dynamicOnly="false"
> suppressDuplicateQueueSubscriptions="true"
> suppressDuplicateTopicSubscriptions="true"
> decreaseNetworkConsumerPriority="false">
> <amq:excludedDestinations>
> <amq:queue physicalName="Consumer.*.VirtualTopic.>"/>
> </amq:excludedDestinations>
> </amq:networkConnector>
> </amq:networkConnectors>
>
> 1. Network of 2 brokers, B1 and B2
> 2. Single consumer C, connected via failover protocol to B1
> *3. Message sent to VirtualTopic VT on B1*
> 4. Message received by C via Consumer.C.VT queue on B1, nothing left in the
> queue B1
> *5. Message duplicated in Consumer.C.VT queue on B2
> 6. Reconnect consumer to B2 - duplicate messages delivered from B2*
>
> similarly
>
> *3. Message sent to VirtualTopic VT on B2*
> 4. Message received by C via Consumer.C.VT queue on B1, nothing left in the
> queue B1
> *5. Message duplicated in Consumer.C.VT queue on B2
> 6. Reconnect consumer to B2 - duplicate messages delivered from B2*
>
> conclusion
>
> - Messages get removed only from the physical queue the consumer is
> currently connected to
> - Messages pile up in the queue on the broker the consumer is not currently
> connected to
>
> is this expected? I can set message expiry, but it would still be in hours,
> which would introduce crazy amount of duplication.
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/NetworkOfBrokers-VirtualTopic-duplicates-tp4079456p4079456.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
--
http://fusesource.com
http://blog.garytully.com