Hey folks,

i am having a hard time trying to find out how clustering works seamlessly
with amq.

Imagine the following situation:

-> One cluster consisting of a master and a slave broker
-> One consumer and one producer
-> Persistence / Clustering mechanism is filesystem-based via shared storage

This means the master broker has the following configuration:

    <transportConnectors>
       <!--<transportConnector  name="stomp" uri="stomp://localhost:61616"
/>-->
       <transportConnector  name="openwire" uri="tcp://localhost:61616" />
    </transportConnectors>

    <persistenceAdapter>
       <journaledJDBC journalLogFiles="5"
dataDirectory="/opt/amq_test/cluster_1/shared_data"/>
    </persistenceAdapter>

The slave has the same configuration:


    <transportConnectors>
       <!--<transportConnector  name="stomp" uri="stomp://localhost:61616"
/>-->
       <transportConnector  name="openwire" uri="tcp://localhost:61616" />
    </transportConnectors>

    <persistenceAdapter>
       <journaledJDBC journalLogFiles="5"
dataDirectory="/opt/amq_test/cluster_1/shared_data"/>
    </persistenceAdapter>

Now if start the master-broker followed by the slave-broker the output of
the slave-broker is:

INFO  faultPersistenceAdapterFactory - Journal is locked... waiting 10
seconds for the journal to be unlocked.
INFO  faultPersistenceAdapterFactory - Journal is locked... waiting 10
seconds for the journal to be unlocked.


So far, so good....

BUT:

If i now start my consumer and producer everything works fine, meaning that
i see the consumer receiving the messages.
Both producer and consumer connect with the following uri:

tcp://debln099:61616?wireFormat=openwire&transport.useAsyncSend=false&tcpNoDelay=true

But if i now stop my master broker via hitting "CTRL + c" my consumer quits
with the message:

JMS Exception occured.  Shutting down client.

And the producer quits with a:

response from futureResponse was invalid
        FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 145
        FILE: activemq/transport/ResponseCorrelator.cpp, LINE: 152
        FILE: activemq/connector/openwire/OpenWireFormatNegotiator.cpp,
LINE: 105
        FILE: activemq/connector/openwire/OpenWireConnector.cpp, LINE: 1468
        FILE: activemq/connector/openwire/OpenWireConnector.cpp, LINE: 928
        FILE: activemq/core/ActiveMQSession.cpp, LINE: 703
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 194
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 149
        FILE: activemq/core/ActiveMQProducer.cpp, LINE: 108
-----------------------------------------------------
Finished with the demo ignore errors from this
point on as the sockets breaks when we shutdown.
=====================================================
Segmentation fault


According to the documentation, i would have expected that the slave broker
immediately takes over the database lock.

This doesn't seem to be the case....

What is going wrong here?
-- 
View this message in context: 
http://www.nabble.com/Clustering-not-working%3A-JMS-Exception-tf4297810s2354.html#a12233062
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to