You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Satheish <Sa...@cognizant.com> on 2009/03/24 15:10:21 UTC

Strange problem on Composite Destination

Hi,
We are facing a strange problem with Active MQ.   As per the composite
destination setup, we configured JMS Message publisher to publish messages
on Topics & those messages would be forwarded to Queue for processing based
on the Message Selector . 
In the following example, JMS publisher will publish messages on
VirtualTopic.Tools.AlertTopic & if the Messageproperty value equals to
'Connection Refused' it would be forwarded to onsumerA.AlertQueue. 
There are some consumers listening both on Topic
(VirtualTopic.Tools.AlerTopic) and Queue (ConsumerA.AlertQueue).  

Problem
The current setup works fine for almost 1 week in production environment (It
works fine until the number of Messages in the Topic reaches approximately
close to One hundred thousand messages (100000).  After that, if any message
is published on the Topic listener waiting on it (Consumer) didn't get any
notification.  But, I could see the messages forward to the Queue & the
Consumer waiting on the Queue got the notification.
Once the broker is restarted this problem is resolved.  We couldn't find the
root cause of the issue.   Pls. let me know for any clues about the issue. 
Here I attached some configuration (ActiveMQ.XML) on that topic & system
memory usage.
ActiveMQ.XML
<destinationInterceptors>
<virtualDestinationInterceptor>              
<virtualDestinations>
<virtualTopic name="VirtualTopic.Tools.>" />
<compositeTopic name="VirtualTopic.Tools.AlertTopic" forwardOnly="true">
<forwardTo>
<filteredDestination selector="Message = 'Connection Refused'"
queue="ConsumerA.AlertQueue" />
</forwardTo>
</compositeTopic>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>

<destinationPolicy>
            <policyMap>
                <policyEntries>
                    <policyEntry queue=">" memoryLimit="5mb"/>
                    <policyEntry topic=">" memoryLimit="5mb">
                        <dispatchPolicy>
                            <strictOrderDispatchPolicy/>
                        </dispatchPolicy>
                        <subscriptionRecoveryPolicy>
                            <lastImageSubscriptionRecoveryPolicy/>
                        </subscriptionRecoveryPolicy>
                    </policyEntry>
                </policyEntries>
            </policyMap>
    </destinationPolicy>


<!--  The maximum about of space the broker will use before slowing down
producers -->
<systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="20 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="1 gb" name="foo"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="100 mb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

-- 
View this message in context: http://www.nabble.com/Strange-problem-on-Composite-Destination-tp22681231p22681231.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.