You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by aburgel <al...@dailycandy.com> on 2008/05/05 18:11:10 UTC

network of brokers - 'Failed to add static destination' exceptions

hi,

i'm using a network of brokers set up with 4 nodes with activemq 4.1.2:

<broker brokerName="host1" xmlns="http://activemq.org/config/1.0">
  <transportConnectors>
     <transportConnector uri="tcp://localhost:0"
discoveryUri="multicast://default" />
  </transportConnectors>

  <networkConnectors>
     <networkConnector uri="multicast://default" networkTTL="10" />
  </networkConnectors>
</broker>

each node has a broker, all are producers for a queue, only 1 node is a
consumer. i'm using spring 2.0.8 DefaultMessageListener to consumer the
messages and jmsTemplate to send them out:

<bean id="broker" class="org.apache.activemq.xbean.BrokerFactoryBean">
  <property name="config" value="classpath:dc-activemq.xml" />
  <property name="start" value="true" />
</bean>

<bean id="dcDestination" class="org.apache.activemq.command.ActiveMQQueue"
autowire="constructor">
  <constructor-arg>
    <value>com.dc.queue</value>
  </constructor-arg>
</bean>

<bean id="jmsConnectionFactory"
class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start"
destroy-method="stop" depends-on="broker">
  <property name="connectionFactory">
    <bean class="org.apache.activemq.ActiveMQConnectionFactory">
      <property name="brokerURL" value="vm://host1" />
    </bean>
  </property>
  <property name="maximumActive" value="10"/>
</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
  <property name="connectionFactory" ref="jmsConnectionFactory" />
  <property name="defaultDestination" ref="dcDestination" />
</bean>

<bean
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
  <property name="concurrentConsumers" value="5"/>
  <property name="connectionFactory" ref="jmsConnectionFactory" />
  <property name="destination" ref="smsDestination" />
  <property name="messageListener" ref="dcMessageListener" />
</bean>

this works for a few days, then for no apparent reason. i start seeing:

DurableConduitBridge - Failed to add static destination queue://com.dc.queue

in the logs, every few seconds. it starts on one of the nodes, usually the
one that is consuming. and then after a few hours all of the nodes start
getting these exceptions. i don't see any other exceptions in my logs before
this. it doesn't seem to happen at any particular time of day either.

the only solution is to restart the app on all of the nodes.

i've tried all sorts of things. i was on 4.1.1, that version seemed to be
the most stable, it would take a week for this to show up. 4.1.2 takes a few
days. 5.0.0 was the worst, that barely worked after start up (for lots of
different reasons, not just this particular one).

i've tried using a single connection instead of a pooled connection
(performance is not a concern for me).

i've read through the mailing lists. a few people have talked about this
problem, but no one has ever posted a solution or explanation.

i've read through the activemq docs, and have been thoroughly confused about
all the "gotchas" with spring and activemq. so at this point, i'm not sure
if this is a bug or if i'm doing something wrong.

any help on this would be much appreciated.

--alex
-- 
View this message in context: http://www.nabble.com/network-of-brokers---%27Failed-to-add-static-destination%27-exceptions-tp17065158s2354p17065158.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.