The key lines of the log are... INFO DefaultDatabaseLocker - Attempting to acquire the exclusive lock to become the Master broker INFO DefaultDatabaseLocker - Becoming the master on dataSource: [EMAIL PROTECTED]
it looks like your configuration and MySQL version are not honouring the exclusive database lock. What version of MySQL are you using? We might need to patch the SQL used to ensure the lock works. On 28/12/2007, MQ Newbie <[EMAIL PROTECTED]> wrote: > > Hi, > > I started the Master broker followed by the Slave broker. Everything was > running fine at the beginning but I don;t understand how the Slave could > took over as Master even the Master broker is up. Please help. > > See logs before and after ****** : > > > I have used the following configuration: > > Master: > ====== > > <broker xmlns="http://activemq.org/config/1.0" brokerName="mq01"> > > <!-- Destination specific policies using destination names or wildcards > --> > <destinationPolicy> > <policyMap> > <policyEntries> > > <policyEntry topic="FOO.>" producerFlowControl="false" > memoryLimit="1mb"> > <dispatchPolicy> > <strictOrderDispatchPolicy/> > </dispatchPolicy> > <subscriptionRecoveryPolicy> > <lastImageSubscriptionRecoveryPolicy/> > </subscriptionRecoveryPolicy> > </policyEntry> > > </policyEntries> > </policyMap> > </destinationPolicy> > > > <!-- The transport connectors ActiveMQ will listen to --> > <transportConnectors> > <transportConnector name="openwire" uri="tcp://mq01:61616" > discoveryUri="multicast://default"/> > </transportConnectors> > > > <!-- Or if you want to use pure JDBC without a journal --> > <persistenceAdapter> > <jdbcPersistenceAdapter dataSource="#mysql-ds"/> > </persistenceAdapter> > > <!-- Use the following to set the broker memory limit > <systemUsage> > <systemUsage> > <memoryUsage> > <memoryUsage limit="10 mb" > percentUsageMinDelta="20"/> > </memoryUsage> > <tempUsage> > <tempUsage limit="100 mb"/> > </tempUsage> > <storeUsage> > <storeUsage limit="1 gb" name="foo"/> > </storeUsage> > </systemUsage> > </systemUsage> > --> > > <!-- Use the following to configure how ActiveMQ is exposed in JMX > <managementContext> > <managementContext connectorPort="1099" > jmxDomainName="org.apache.activemq"/> > </managementContext> > --> > > </broker> > > <!-- lets create a command agent to respond to message based admin > commands on the ActiveMQ.Agent topic --> > <commandAgent xmlns="http://activemq.org/config/1.0"/> > > > <!-- An embedded servlet engine for serving up the Admin console --> > <jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> > <connectors> > <nioConnector port="8161" /> > </connectors> > > <handlers> > <webAppContext contextPath="/admin" > resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true" /> > <webAppContext contextPath="/demo" > resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true" /> > </handlers> > </jetty> > > > > <!-- MySql DataSource Sample Setup --> > <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" > destroy-method="close"> > <property name="driverClassName" value="com.mysql.jdbc.Driver"/> > <property name="url" > value="jdbc:mysql://mqdb/activemq?relaxAutoCommit=true"/> > <property name="username" value="activemq"/> > <property name="password" value="activemq"/> > <property name="poolPreparedStatements" value="true"/> > </bean> > > > > Slave: > ===== > > <broker xmlns="http://activemq.org/config/1.0" brokerName="mq02" > masterConnectorURI="tcp://192.168.30.123:61616" > shutdownOnMasterFailure="false" > > > <!-- Destination specific policies using destination names or wildcards > --> > <destinationPolicy> > <policyMap> > <policyEntries> > > <policyEntry topic="FOO.>" producerFlowControl="false" > memoryLimit="1mb"> > <dispatchPolicy> > <strictOrderDispatchPolicy/> > </dispatchPolicy> > <subscriptionRecoveryPolicy> > <lastImageSubscriptionRecoveryPolicy/> > </subscriptionRecoveryPolicy> > </policyEntry> > > </policyEntries> > </policyMap> > </destinationPolicy> > > > <!-- The transport connectors ActiveMQ will listen to --> > <transportConnectors> > <transportConnector name="openwire" uri="tcp://mq02:61616" > discoveryUri="multicast://default"/> > </transportConnectors> > > > <!-- Or if you want to use pure JDBC without a journal --> > <persistenceAdapter> > <jdbcPersistenceAdapter dataSource="#mysql-ds"/> > </persistenceAdapter> > > <!-- Use the following to set the broker memory limit > <systemUsage> > <systemUsage> > <memoryUsage> > <memoryUsage limit="10 mb" > percentUsageMinDelta="20"/> > </memoryUsage> > <tempUsage> > <tempUsage limit="100 mb"/> > </tempUsage> > <storeUsage> > <storeUsage limit="1 gb" name="foo"/> > </storeUsage> > </systemUsage> > </systemUsage> > --> > > <!-- Use the following to configure how ActiveMQ is exposed in JMX > <managementContext> > <managementContext connectorPort="1099" > jmxDomainName="org.apache.activemq"/> > </managementContext> > --> > > </broker> > > <!-- lets create a command agent to respond to message based admin > commands on the ActiveMQ.Agent topic --> > <commandAgent xmlns="http://activemq.org/config/1.0"/> > > > <!-- An embedded servlet engine for serving up the Admin console --> > <jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> > <connectors> > <nioConnector port="8161" /> > </connectors> > > <handlers> > <webAppContext contextPath="/admin" > resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true" /> > <webAppContext contextPath="/demo" > resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true" /> > </handlers> > </jetty> > > > > <!-- MySql DataSource Sample Setup --> > <bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" > destroy-method="close"> > <property name="driverClassName" value="com.mysql.jdbc.Driver"/> > <property name="url" > value="jdbc:mysql://mqdb/activemq?relaxAutoCommit=true"/> > <property name="username" value="activemq"/> > <property name="password" value="activemq"/> > <property name="poolPreparedStatements" value="true"/> > </bean> > > > > LOGS > > Master: > ====== > > ACTIVEMQ_HOME: /usr/app/apache-activemq-5.0.0 > ACTIVEMQ_BASE: /usr/app/apache-activemq-5.0.0 > Loading message broker from: xbean:activemq.xml > INFO BrokerService - Using Persistence Adapter: > JDBCPersistenceAdaptor([EMAIL PROTECTED]) > INFO BrokerService - ActiveMQ 5.0.0 JMS Message Broker > (mq01) is starting > INFO BrokerService - For help or more information please > see: http://activemq.apache.org/ > INFO ManagementContext - JMX consoles can connect to > service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi > INFO JDBCPersistenceAdapter - Database driver recognized: > [mysql-ab_jdbc_driver] > INFO DefaultDatabaseLocker - Attempting to acquire the exclusive > lock to become the Master broker > INFO DefaultDatabaseLocker - Becoming the master on dataSource: > [EMAIL PROTECTED] > INFO TransportServerThreadSupport - Listening for connections at: > tcp://mq01:61616 > INFO TransportConnector - Connector openwire Started > INFO BrokerService - ActiveMQ JMS Message Broker (mq01, > ID:sgjms01.sphsearch.com-39105-2019326477811-0:0) started > WARN BrokerRegistry - Broker localhost not started so using > mq01 instead > INFO TransportConnector - Connector vm://localhost Started > INFO log - Logging to > org.slf4j.impl.JCLLoggerAdapter(org.mortbay.log) via > org.mortbay.log.Slf4jLog > INFO log - jetty-6.1.4 > INFO WebConsoleStarter - ActiveMQ WebConsole initialized. > INFO /admin - Initializing Spring FrameworkServlet > 'dispatcher' > INFO log - ActiveMQ Console at > http://0.0.0.0:8161/admin > INFO log - ActiveMQ Web Demos at > http://0.0.0.0:8161/demo > INFO log - Started > [EMAIL PROTECTED]:8161 > ****** > INFO TransportConnection - Slave Broker mq02 is attached > > > > Slave > ===== > > ACTIVEMQ_HOME: /usr/app/apache-activemq-5.0.0 > ACTIVEMQ_BASE: /usr/app/apache-activemq-5.0.0 > Loading message broker from: xbean:activemq.xml > INFO BrokerService - Using Persistence Adapter: > JDBCPersistenceAdaptor([EMAIL PROTECTED]) > INFO BrokerService - ActiveMQ 5.0.0 JMS Message Broker > (mq02) is starting > INFO BrokerService - For help or more information please > see: http://activemq.apache.org/ > INFO ManagementContext - JMX consoles can connect to > service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi > INFO JDBCPersistenceAdapter - Database driver recognized: > [mysql-ab_jdbc_driver] > ****** > INFO DefaultDatabaseLocker - Attempting to acquire the exclusive > lock to become the Master broker > INFO DefaultDatabaseLocker - Becoming the master on dataSource: > [EMAIL PROTECTED] > INFO TransportServerThreadSupport - Listening for connections at: > tcp://mq02:61616 > INFO TransportConnector - Connector openwire Started > INFO TransportConnector - Connector vm://mq02 Started > INFO MasterConnector - Starting a network connection between > vm://mq02#0 and tcp://null:0 has been established. > INFO BrokerService - ActiveMQ JMS Message Broker (mq02, > ID:sgjms02.sphsearch.com-41158-1198828853013-1:0) started > INFO MasterConnector - Slave connection between vm://mq02#0 > and tcp:///mq01:61616 has been established. > WARN BrokerRegistry - Broker localhost not started so using > mq02 instead > INFO TransportConnector - Connector vm://localhost Started > INFO log - Logging to > org.slf4j.impl.JCLLoggerAdapter(org.mortbay.log) via > org.mortbay.log.Slf4jLog > INFO log - jetty-6.1.4 > WARN log - Can't reuse > /tmp/Jetty_0_0_0_0_8161_admin__admin__9l5s6p, using > /tmp/Jetty_0_0_0_0_8161_admin__admin__9l5s6p_59761 > INFO WebConsoleStarter - ActiveMQ WebConsole initialized. > INFO /admin - Initializing Spring FrameworkServlet > 'dispatcher' > INFO log - ActiveMQ Console at > http://0.0.0.0:8161/admin > WARN log - Can't reuse > /tmp/Jetty_0_0_0_0_8161_demo__demo__uj3swb, using > /tmp/Jetty_0_0_0_0_8161_demo__demo__uj3swb_59762 > INFO log - ActiveMQ Web Demos at > http://0.0.0.0:8161/demo > INFO log - Started > [EMAIL PROTECTED]:8161 > > > > -- > View this message in context: > http://www.nabble.com/Slave-automatically-switch-to-Master-even-though-Master-is-up-tp14523353s2354p14523353.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- James ------- http://macstrac.blogspot.com/ Open Source Integration http://open.iona.com