I am using a very simple config of embedded, networked brokers to facilitate inter-cluster communication in my app. I am using multicast networkConnectors as indicated in the file below.

Everything works fine until I disable the network on one node. As expected the remaining nodes loose connectivity with the disabled node. But when I plug the node back into the network, the other nodes do NOT reestablish their connections with the now-restored node. I do not see exceptions in the logs after I restore the lost nodes network. I assumed that because I was using multicast discovery that once announcements resumed the connections would be restablished. Any ideas what I could be doing wrong?

My configuration is

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xbean.org/schemas/spring/1.0"; xmlns:amq="http:// activemq.org/config/1.0"> <amq:broker persistent="true" id="broker" brokerName="$ {node.id}MQ" useJmx="true">

        <amq:persistenceAdapter>
<amq:kahaPersistenceAdapter dir="#dataDir" maxDataFileLength="33554432" />
        </amq:persistenceAdapter>

        <amq:transportConnectors>
<amq:transportConnector uri="tcp://${mq.broker.address}:$ {mq.broker.port}" />
            <amq:transportConnector uri="vm://${node.id}MQ" />
        </amq:transportConnectors>

        <amq:networkConnectors>
<amq:networkConnector uri="multicast://$ {mq.broker.multicast.address}:${mq.broker.multicast.port}"/>
        </amq:networkConnectors>


    </amq:broker>

    <!-- Directories relative to web app -->
<bean id="servletContext" class="org.springframework.web.context.support.ServletContextFactoryBean " /> <bean id="dataDir" class="org.springframework.web.util.WebUtils" factory-method="getRealPath">
        <constructor-arg ref="servletContext" />
        <constructor-arg value="/amq-data" />
    </bean>

</beans>

Reply via email to