activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ttmdev <joe.fernan...@ttmsolutions.com>
Subject Re: 6 broker node network results in many duplicate messages or "durable consumer in use" errors
Date Wed, 03 Oct 2007 14:06:17 GMT

We are also experiencing more or less the same situation, but with a
configuration comprising 2 brokers, one publisher and one durable
subscriber. The brokers and clients are using 'discovery'. 

Has anyone looked into this? 

Joe  
 

Naz Irizarry wrote:
> 
> BACKGROUND
> 
> I am using ActiveMQ 4.1.1 under Java 5.  My 6 broker test-network is  
> illustrated in the attachment.  The brokers would not be colocated in  
> deployment though they are all running on one machine for testing.   
> In deployment there would be clients on all nodes.
> 
> 
> The clients FN1, FN2, and FN3 create serveral durable topics and  
> subscribe to each other's topics.  The brokers use networkTTL="3",  
> conduitSubscriptions="false", dynamicOnly="false"  Messages are  
> acknowledged immediately upon receipt by the clients.
> 
> 
> PROBLEMS
> 
> 1) Client FN1 sees messages from FN2 and FN3 each delivered twice
> 2) Client FN2 sees all messages from FN1 delivered 4 times and  
> messages from FN3 delivered twice
> 3) Client FN3 sees all messages from FN1 delivered 4 times and  
> messages from FN2 delivered twice
> The duplicates arrive approximately one second apart.
> 
> If I stop the brokers, zero out persistent stores, change the brokers  
> to conduitSubscriptions="true" restart the brokers and I bring up  
> FN1, FN2, and FN3 (in that order) then when FN3 comes up:
> 
> 1) At broker bFN2 I get the error " INFO   
> DemandForwardingBridge         - Network connection between vm:// 
> bFn2#4 and ssl://localhost/127.0.0.1:9124 shutdown due to a local  
> error: javax.jms.JMSException: Durable consumer is in use for client:  
> NC_bEn2_inboundbFn2 and subscriptionName: bFn2_ds.Union-3"
> 2) At broker vFN3 I get the error  " INFO   
> DemandForwardingBridge         - Network connection between vm:// 
> bFn3#0 and ssl://localhost/127.0.0.1:9124 shutdown due to a local  
> error: javax.jms.JMSException: Durable consumer is in use for client:  
> NC_bEn2_inboundbFn3 and subscriptionName: bFn3_da.Availability"
> 
> Is this a misconfiguration problem or are these known problems?
> 
> 
> Below are 3 of the configurations
> 
> --------------
> Configuration for bEn2:
> 
> <beans>
> 
>    <bean  
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi 
> gurer"/>
> 
>    <broker brokerName="bEn2" useJmx="false" persistent="false"  
> xmlns="http://activemq.org/config/1.0">
> 
>      <destinationPolicy>
>        <policyMap>
>          <policyEntries>
> 
>            <policyEntry topic="ds.>">
>              <dispatchPolicy>
>                <strictOrderDispatchPolicy/>
>              </dispatchPolicy>
>              <subscriptionRecoveryPolicy>
>                <timedSubscriptionRecoveryPolicy  
> recoverDuration="900000"/>
>              </subscriptionRecoveryPolicy>
> 
>            </policyEntry>
>            <policyEntry topic="da.>">
>              <dispatchPolicy>
>                <strictOrderDispatchPolicy/>
>              </dispatchPolicy>
>              <subscriptionRecoveryPolicy>
>                <timedSubscriptionRecoveryPolicy  
> recoverDuration="300000"/>
>              </subscriptionRecoveryPolicy>
>            </policyEntry>
> 
>          </policyEntries>
>        </policyMap>
>      </destinationPolicy>
> 
>      <persistenceAdapter>
>        <journaledJDBC journalLogFiles="5"  
> dataDirectory="$activemq.base/activemq-data"/>
>      </persistenceAdapter>
> 
>      <transportConnectors>
>        <!-- 9123 is for local access -->
>        <!-- 9124 is used to bridge the activemq's to each other -->
>        <transportConnector name="c1" uri="tcp://localhost:9123"/>
>        <transportConnector name="c2" uri="ssl://localhost:9124"/>
>      </transportConnectors>
> 
>      <networkConnectors>
> 
>        <!-- Cross Connection to Other Enterprise node -->
>        <networkConnector name="entBridge1"
>          uri="static:(ssl://localhost:9024)"
>          dynamicOnly="false"
>          conduitSubscriptions="false"
>          networkTTL="3"
>          prefetchSize="10"
>        >
> 
>        </networkConnector>
> 
>        <!-- Connection to Forward Node 2 -->
>        <networkConnector name="forward2"
>          uri="static:(ssl://localhost:9324)"
>          dynamicOnly="false"
>          conduitSubscriptions="false"
>          prefetchSize="10"
>          networkTTL="3"
>        >
> 
>        </networkConnector>
> 
>        <!-- Connection to Forward Node 3 -->
>        <networkConnector name="forward3"
>          uri="static:(ssl://localhost:9424)"
>          dynamicOnly="false"
>          conduitSubscriptions="false"
>          prefetchSize="10"
>          networkTTL="3"
>        >
>        </networkConnector>
>      </networkConnectors>
>    </broker>
> </beans>
> 
> -------------
> Configuration for bFn2:
> 
> <beans>
> 
>    <!-- Allows us to use system properties as variables in this  
> configuration file -->
>    <bean  
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi 
> gurer"/>
> 
>    <broker brokerName="bFn2" useJmx="false" persistent="false"  
> xmlns="http://activemq.org/config/1.0">
> 
>      <destinationPolicy>
>        <policyMap>
>          <policyEntries>
> 
>            <policyEntry topic="ds.>">
>              <dispatchPolicy>
>                <strictOrderDispatchPolicy/>
>              </dispatchPolicy>
>              <subscriptionRecoveryPolicy>
>                <timedSubscriptionRecoveryPolicy  
> recoverDuration="900000"/>
>              </subscriptionRecoveryPolicy>
> 
>            </policyEntry>
>            <policyEntry topic="da.>">
>              <dispatchPolicy>
>                <strictOrderDispatchPolicy/>
>              </dispatchPolicy>
>              <subscriptionRecoveryPolicy>
>                <timedSubscriptionRecoveryPolicy  
> recoverDuration="300000"/>
>              </subscriptionRecoveryPolicy>
>            </policyEntry>
> 
>          </policyEntries>
>        </policyMap>
>      </destinationPolicy>
> 
>      <persistenceAdapter>
>        <journaledJDBC journalLogFiles="5"  
> dataDirectory="$activemq.base/activemq-data"/>
>      </persistenceAdapter>
> 
>      <transportConnectors>
>        <!-- 9023 is for local access -->
>        <!-- 9024 is used to bridge the activemq's to each other -->
>        <transportConnector name="c1" uri="tcp://localhost:9323"/>
>        <transportConnector name="c2" uri="ssl://localhost:9324"/>
>      </transportConnectors>
> 
>      <networkConnectors>
> 
>        <!-- Connection to Enterprise node 2 -->
>        <networkConnector name="en2a"
>          uri="static:(ssl://localhost:9124)"
>          dynamicOnly="false"
>          conduitSubscriptions="false"
>          networkTTL="3"
>          prefetchSize="10"
>        >
>        </networkConnector>
> 
>      </networkConnectors>
>    </broker>
> </beans>
> 
> -------------
> Configuration for bFn3:
> 
> <beans>
>    <bean  
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfi 
> gurer"/>
> 
>    <broker brokerName="bFn3" useJmx="false" persistent="false"  
> xmlns="http://activemq.org/config/1.0">
> 
>      <destinationPolicy>
>        <policyMap>
>          <policyEntries>
> 
>            <policyEntry topic="ds.>">
>              <dispatchPolicy>
>                <strictOrderDispatchPolicy/>
>              </dispatchPolicy>
>              <subscriptionRecoveryPolicy>
>                <timedSubscriptionRecoveryPolicy  
> recoverDuration="900000"/>
>              </subscriptionRecoveryPolicy>
>            </policyEntry>
> 
>            <policyEntry topic="da.>">
>              <dispatchPolicy>
>                <strictOrderDispatchPolicy/>
>              </dispatchPolicy>
>              <subscriptionRecoveryPolicy>
>                <timedSubscriptionRecoveryPolicy  
> recoverDuration="300000"/>
>              </subscriptionRecoveryPolicy>
>            </policyEntry>
> 
>          </policyEntries>
>        </policyMap>
>      </destinationPolicy>
> 
>      <persistenceAdapter>
>        <journaledJDBC journalLogFiles="5"  
> dataDirectory="$activemq.base/activemq-data"/>
>      </persistenceAdapter>
> 
>      <transportConnectors>
>        <!-- 9423 is for internal access -->
>        <!-- 9424 is used to bridge the activemq's to each other -->
>        <transportConnector name="c1" uri="tcp://localhost:9423"/>
>        <transportConnector name="c2" uri="ssl://localhost:9424"/>
>      </transportConnectors>
> 
>      <networkConnectors>
> 
>        <!-- Connection to Enterprise node 2 -->
>        <networkConnector name="en2b"
>          uri="static:(ssl://localhost:9124)"
>          dynamicOnly="false"
>          conduitSubscriptions="false"
>          prefetchSize="10"
>          networkTTL="3"
>        >
>        </networkConnector>
>      </networkConnectors>
>    </broker>
> </beans>
> 
> 
> 
> 
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/6-broker-node-network-results-in-many-duplicate-messages-or-%22durable-consumer-in-use%22-errors-tf4268320s2354.html#a13019653
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message