To add on, if I am running one of the broker in the same machine as the database in Windows OS, everything seems to be fine. But the error was thrown when running from separate Linux machines. Do you think it has to do with the MySQL or the JConnector?
How long do you think the fix for the MySQL version that you mentioned earlier will be available? MQ Newbie 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 > take over as Master even the Master broker is up. Please help. > > > > 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-tp14523353s2354p14660387.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.