activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: network of broker stop forwarding messages without advisorySupport enabled
Date Mon, 04 Apr 2011 18:00:42 GMT
Anubhava,
have a look at https://issues.apache.org/jira/browse/AMQ-3253 and the
associated test case. You can try the additional config with trunk or
tonight's snapshot. I will allow temp destinations to propagate a
network and allow the gc of destinations that have just network
consumers, which will work for your 'temp' non temporary destinations.

On 30 March 2011 19:00, Gary Tully <gary.tully@gmail.com> wrote:
> There is no easy answer with the current code. I am working on
> building in support for temp destinations across a network with no
> advisories, still some issues with ownership/lifecycle at the moment.
> Will let you know when I have something you can try out.
>
> In the short term, to delete your real destinations, if you can build
> your own broker from source, you could add a timeout > 0  to the call
> to removeDestination in
> org.apache.activemq.broker.region.RegionBroker#purgeInactiveDestinations
>
> On 28 March 2011 23:18, anuhbava <anubhava@aol.com> wrote:
>> Hi Gary,
>>
>> Thanks for pointing the source code to me, its been a great help to try &
>> understand how AMQ code is behaving for these scenarios.
>>
>> Here is what I found so far:
>> 1. connectionFactory.setClientIDPrefix("ID:ReplyDest.host") and
>> connectionFactory.setClientID("ID:ReplyDest.host") calls are completely
>> ignored while creating a new temporary queue name.
>> 2. session.createQueue("ID:ReplyDest.host-client-queue-" + new Date());
>> throws exception as I mentioned earlier as well.
>> 3. Only hack I could find to alter the naming convention was this call:
>> ((ActiveMQConnection)
>> connection).getConnectionInfo().getConnectionId().setValue("ID:ReplyDest.");
>> 4. Using above trick will alter the naming convention of temporary
>> destinations as temp-queue://ID:ReplyDest.12334535345.1
>> 5. However when I added this in activemq.xml in
>> staticallyIncludedDestinations tag:
>>    "/>
>>    Brokers ignored this directive for temporary destinations inclusions. It
>> seems staticallyIncludedDestinations only works for named queues and topics
>> but not for temp destinations.
>> 6. Now if I create regular destinations using
>> session.createTopic("ReplyDest.client-topic" + new Date()); and have
>> corresponding staticallyIncludedDestinations inclusions then my
>> request/responses flow without problems.
>> 7. As per your very nice suggestion I have now included
>>  " advisoryForConsumed="false" advisoryForDelivery="false"
>> gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
>>
>> in my destinationPolicy tag. However what I noticed is that even if producer
>> and consumer are killed but these newly created named topics are NOT deleted
>> until all but one the broker are shutdown. Which is somewhat unexpected
>> behavior and it may not work for us since at no time we are going to
>> shutdown our AMQ brokers in production, even though producer/consumers can
>> be very dynamic and can start/stop many times. Do you have any other
>> suggestion for my case, one that can cleanup/remove these (temporary for my
>> use case but not really temporary for AMQ) destinations without stopping any
>> brokers?
>>
>> many thanks for your help so far,
>> Anubhava
>>
>>
>>
>>
>> --
>> View this message in context: http://activemq.2283324.n4.nabble.com/network-of-broker-stop-forwarding-messages-without-advisorySupport-enabled-tp3386261p3413235.html
>> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>>
>
>
>
> --
> http://blog.garytully.com
> http://fusesource.com
>



-- 
http://blog.garytully.com
http://fusesource.com

Mime
View raw message