Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-2497

Message broker won't come back when the databse goes offline and comes back online

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Duplicate
    • 5.3.0
    • 5.x
    • Broker
    • None
    • MS SQL 2000,2005,2008

    Description

      • deployed ActiveMQ 5.3.0 as RAR on JBoss
      • broker comes up fine
      • at some point database goes offline
      • broker can't communicate with database and shuts down
      • now database comes back online
      • borker will never come back again and will have to restart the JBoss manually again to start the broker

      This will be a blocker for us to go to production as there is no availability of broker when database goes offline and comes back.

      Here is my broker-config.xml, let me know if any configuration is missing :

      <beans xmlns="http://activemq.apache.org/schema/core">

      <bean xmlns="" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>

      <bean xmlns="" id="my-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
      <property name="url" value="jdbc:sqlserver://mydb:1433;databaseName=myds"/>
      <property name="username" value="sql"/>
      <property name="password" value="sql"/>
      <property name="initialSize" value="10"/>
      <property name="poolPreparedStatements" value="true"/>
      </bean>

      <!-- shutdown hook is disabled as RAR classloader may be gone at shutdown -->
      <broker useJmx="true" brokerName="sample.broker1" useShutdownHook="false">

      <destinations>
      <topic physicalName="pocket" />
      </destinations>

      <managementContext>
      <!-- use appserver provided context instead of creating one,
      for jboss use: -Djboss.platform.mbeanserver -->
      <managementContext createConnector="false"/>
      </managementContext>

      <persistenceAdapter>
      <!-- <amqPersistenceAdapter syncOnWrite="false" directory="${jboss.server.data.dir}/activemq" maxFileLength="20 mb"/> -->
      <!-- <journaledJDBC journalLogFiles="5" dataDirectory="${jboss.server.data.dir}/activemq"/> -->
      <!-- To use a different datasource, use th following syntax : -->

      <!-- <kahaPersistenceAdapter directory="${jboss.server.data.dir}/activemq" maxDataFileLength="33554432"/> -->

      <journaledJDBC journalLogFiles="5" dataDirectory="${jboss.server.data.dir}/activemq" dataSource="#my-ds" useDatabaseLock="false" />

      </persistenceAdapter>

      <transportConnectors>
      <transportConnector name="sample.broker1" uri="tcp://localhost:3030" discoveryUri="multicast://default"/>
      </transportConnectors>

      </broker>
      </beans>

      Attachments

        Issue Links

          Activity

            People

              gtully Gary Tully
              hiskill hiskill
              Votes:
              12 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: