activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ddossot <da...@dossot.net>
Subject Re: 6 broker node network results in many duplicate messages or "durable consumer in use" errors
Date Fri, 05 Oct 2007 16:35:18 GMT

Same here: I have a simple 2 brokers configuration, which discover themselves
via Zeroconf, and the bridge between them regularly fails:

09:27:49,996 INFO  [org.apache.activemq.network.DemandForwardingBridge]
Network connection between vm://node1#2 and tcp://node2/10.20.116.14:58080
shutdown due to a local error: java.lan
g.NullPointerException
09:27:50,216 INFO  [org.apache.activemq.network.DemandForwardingBridge]
node1 bridge to node2 stopped

D.


ttmdev wrote:
> 
> 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#a13063065
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message