You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by stelios <gr...@gmail.com> on 2010/03/09 13:25:03 UTC
Re: Consumers are being duplicated
I have a similar issue, where the consumers seem to duplicate after a couple
of days. Although it's not always the case. Did you find any more
information on this?
thanks
stelios
Tim Sparg wrote:
>
> Hi all,
>
> We are using ActiveMQ 5.2.0 over the WAN. We have a remote application
> that has 2 consumers listening for messages. These 2 consumers use message
> selectors in order to receive different types of messages and process
> these messages accordingly. At first we were using Broker-To-Broker
> communication but we found that the consumers stopped receiving messages
> until we restarted the remote broker. We are now running a single broker
> configuration using the failover transport connection. This seems to work
> well but after a day or so the consumers on the remote application start
> to duplicate.
> We are closing all the consumers in a shut down hook as well.
>
> The broker is using the default configuration with a change in the
> transport connector’ port and the broker name.
> How can I ensure that duplicate consumers are not created?
>
>
> <beans
> xmlns="http://www.springframework.org/schema/beans"
> xmlns:amq="http://activemq.apache.org/schema/core"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
> http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd
> http://activemq.apache.org/camel/schema/spring
> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
>
> <!-- Allows us to use system properties as variables in this
> configuration file -->
> <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>
> <broker xmlns="http://activemq.apache.org/schema/core"
> brokerName="repserv1" dataDirectory="${activemq.base}/data">
>
> <!-- Destination specific policies using destination names or
> wildcards -->
> <destinationPolicy>
> <policyMap>
> <policyEntries>
> <policyEntry queue=">" memoryLimit="100mb"/>
> <policyEntry topic=">" memoryLimit="100mb">
> <dispatchPolicy>
> <strictOrderDispatchPolicy/>
> </dispatchPolicy>
> <subscriptionRecoveryPolicy>
> <lastImageSubscriptionRecoveryPolicy/>
> </subscriptionRecoveryPolicy>
> </policyEntry>
> </policyEntries>
> </policyMap>
> </destinationPolicy>
>
> <!-- Use the following to configure how ActiveMQ is exposed in JMX
> -->
> <managementContext>
> <managementContext createConnector="true"/>
> </managementContext>
>
> <!-- The store and forward broker networks ActiveMQ will listen to
> -->
> <networkConnectors>
> </networkConnectors>
>
> <persistenceAdapter>
> <amqPersistenceAdapter syncOnWrite="false"
> directory="${activemq.base}/data" maxFileLength="20 mb"/>
> </persistenceAdapter>
>
>
> <!-- The maximum about of space the broker will use before
> slowing down producers -->
> <systemUsage>
> <systemUsage>
> <memoryUsage>
> <memoryUsage limit="512 mb"/>
> </memoryUsage>
> <storeUsage>
> <storeUsage limit="1 gb" name="foo"/>
> </storeUsage>
> <tempUsage>
> <tempUsage limit="100 mb"/>
> </tempUsage>
> </systemUsage>
> </systemUsage>
>
>
> <!-- The transport connectors ActiveMQ will listen to -->
> <transportConnectors>
> <transportConnector name="openwire" uri="tcp://localhost:3545"
> discoveryUri="multicast://default"/>
> </transportConnectors>
>
> </broker>
>
> <!--
> ** Lets deploy some Enterprise Integration Patterns inside the
> ActiveMQ Message Broker
> ** For more details see
> **
> ** http://activemq.apache.org/enterprise-integration-patterns.html
> -->
> <camelContext id="camel"
> xmlns="http://activemq.apache.org/camel/schema/spring">
>
> <!-- You can use a <package> element for each root package to
> search for Java routes -->
> <package>org.foo.bar</package>
>
> <!-- You can use Spring XML syntax to define the routes here using
> the <route> element -->
> <route>
> <from uri="activemq:example.A"/>
> <to uri="activemq:example.B"/>
> </route>
> </camelContext>
>
>
> <!-- An embedded servlet engine for serving up the Admin console -->
> <jetty xmlns="http://mortbay.com/schemas/jetty/1.0">
> <connectors>
> <nioConnector port="8161"/>
> </connectors>
>
> <handlers>
> <webAppContext contextPath="/admin"
> resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/>
> <webAppContext contextPath="/demo"
> resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/>
> <webAppContext contextPath="/fileserver"
> resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/>
> </handlers>
> </jetty>
>
>
> </beans>
>
>
>
--
View this message in context: http://old.nabble.com/Consumers-are-being-duplicated-tp27466152p27834927.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: Consumers are being duplicated
Posted by Tim Sparg <ti...@corefreight.com>.
You're the first response that I've had
cheers
stelios wrote:
>
> I have a similar issue, where the consumers seem to duplicate after a
> couple of days. Although it's not always the case. Did you find any more
> information on this?
>
> thanks
> stelios
>
> Tim Sparg wrote:
>>
>> Hi all,
>>
>> We are using ActiveMQ 5.2.0 over the WAN. We have a remote application
>> that has 2 consumers listening for messages. These 2 consumers use
>> message selectors in order to receive different types of messages and
>> process these messages accordingly. At first we were using
>> Broker-To-Broker communication but we found that the consumers stopped
>> receiving messages until we restarted the remote broker. We are now
>> running a single broker configuration using the failover transport
>> connection. This seems to work well but after a day or so the consumers
>> on the remote application start to duplicate.
>> We are closing all the consumers in a shut down hook as well.
>>
>> The broker is using the default configuration with a change in the
>> transport connector’ port and the broker name.
>> How can I ensure that duplicate consumers are not created?
>>
>>
>> <beans
>> xmlns="http://www.springframework.org/schema/beans"
>> xmlns:amq="http://activemq.apache.org/schema/core"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://www.springframework.org/schema/beans
>> http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
>> http://activemq.apache.org/schema/core
>> http://activemq.apache.org/schema/core/activemq-core.xsd
>> http://activemq.apache.org/camel/schema/spring
>> http://activemq.apache.org/camel/schema/spring/camel-spring.xsd">
>>
>> <!-- Allows us to use system properties as variables in this
>> configuration file -->
>> <bean
>> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
>>
>> <broker xmlns="http://activemq.apache.org/schema/core"
>> brokerName="repserv1" dataDirectory="${activemq.base}/data">
>>
>> <!-- Destination specific policies using destination names or
>> wildcards -->
>> <destinationPolicy>
>> <policyMap>
>> <policyEntries>
>> <policyEntry queue=">" memoryLimit="100mb"/>
>> <policyEntry topic=">" memoryLimit="100mb">
>> <dispatchPolicy>
>> <strictOrderDispatchPolicy/>
>> </dispatchPolicy>
>> <subscriptionRecoveryPolicy>
>> <lastImageSubscriptionRecoveryPolicy/>
>> </subscriptionRecoveryPolicy>
>> </policyEntry>
>> </policyEntries>
>> </policyMap>
>> </destinationPolicy>
>>
>> <!-- Use the following to configure how ActiveMQ is exposed in
>> JMX -->
>> <managementContext>
>> <managementContext createConnector="true"/>
>> </managementContext>
>>
>> <!-- The store and forward broker networks ActiveMQ will listen
>> to -->
>> <networkConnectors>
>> </networkConnectors>
>>
>> <persistenceAdapter>
>> <amqPersistenceAdapter syncOnWrite="false"
>> directory="${activemq.base}/data" maxFileLength="20 mb"/>
>> </persistenceAdapter>
>>
>>
>> <!-- The maximum about of space the broker will use before
>> slowing down producers -->
>> <systemUsage>
>> <systemUsage>
>> <memoryUsage>
>> <memoryUsage limit="512 mb"/>
>> </memoryUsage>
>> <storeUsage>
>> <storeUsage limit="1 gb" name="foo"/>
>> </storeUsage>
>> <tempUsage>
>> <tempUsage limit="100 mb"/>
>> </tempUsage>
>> </systemUsage>
>> </systemUsage>
>>
>>
>> <!-- The transport connectors ActiveMQ will listen to -->
>> <transportConnectors>
>> <transportConnector name="openwire"
>> uri="tcp://localhost:3545" discoveryUri="multicast://default"/>
>> </transportConnectors>
>>
>> </broker>
>>
>> <!--
>> ** Lets deploy some Enterprise Integration Patterns inside the
>> ActiveMQ Message Broker
>> ** For more details see
>> **
>> ** http://activemq.apache.org/enterprise-integration-patterns.html
>> -->
>> <camelContext id="camel"
>> xmlns="http://activemq.apache.org/camel/schema/spring">
>>
>> <!-- You can use a <package> element for each root package to
>> search for Java routes -->
>> <package>org.foo.bar</package>
>>
>> <!-- You can use Spring XML syntax to define the routes here
>> using the <route> element -->
>> <route>
>> <from uri="activemq:example.A"/>
>> <to uri="activemq:example.B"/>
>> </route>
>> </camelContext>
>>
>>
>> <!-- An embedded servlet engine for serving up the Admin console -->
>> <jetty xmlns="http://mortbay.com/schemas/jetty/1.0">
>> <connectors>
>> <nioConnector port="8161"/>
>> </connectors>
>>
>> <handlers>
>> <webAppContext contextPath="/admin"
>> resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/>
>> <webAppContext contextPath="/demo"
>> resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/>
>> <webAppContext contextPath="/fileserver"
>> resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/>
>> </handlers>
>> </jetty>
>>
>>
>> </beans>
>>
>>
>>
>
>
--
View this message in context: http://old.nabble.com/Consumers-are-being-duplicated-tp27466152p27837888.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.