title: Upgrading ActiveMQ from 5.7 to 5.14.5 is not working correctly
body: <p>I am trying to upgrade the version of activemq from 5.7 to 5.14.5. 
  Steps I followed are as follows:</p>
  
  <ol>
  <li><p>Downloaded new files for 5.14.5</p></li>
  <li><p>Replaced with the existing 5.7 files.</p></li>
  <li><p>Modified Activemq.xml for the customized configuration and also added ojdbc14.jar to lib folder. Modifed some of the customized files in conf folder. </p></li>
  <li><p>In the logs i am getting following error :</p></li>
  </ol>
  
  <pre>
  
  2018-03-12 09:26:34,077 | INFO  | Using Persistence Adapter: JDBCPersistenceAdapter(org.apache.commons.dbcp2.BasicDataSource@66998e4b) | org.apache.activemq.broker.BrokerService | main
  
  2018-03-12 09:26:34,168 | INFO  | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://localhost:2017/jmxrmi | org.apache.activemq.broker.jmx.ManagementContext | JMX connector
  
  2018-03-12 09:26:34,565 | WARN  | Exception encountered during context initialization - **cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError | org.apache.activemq.xbean.XBeanBrokerFactory$1 | main
  
  2018-03-12 09:26:34,579 | ERROR | Failed to load: class path resource** [activemq.xml], reason: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError | org.apache.activemq.xbean.XBeanBrokerFactory | main
  org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.apache.activemq.xbean.XBeanBrokerService#0' defined in class path resource [activemq.xml]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1572)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
      at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
      at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:762)
      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
      at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:64)
      at org.apache.xbean.spring.context.ResourceXmlApplicationContext.(ResourceXmlApplicationContext.java:52)
      at org.apache.activemq.xbean.XBeanBrokerFactory$1.(XBeanBrokerFactory.java:104)
      at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:104)
      at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:67)
      at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
      at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
      at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:87)
      at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)
      at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:154)
      at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:63)
      at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:104)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.apache.activemq.console.Main.runTaskClass(Main.java:262)
      at org.apache.activemq.console.Main.main(Main.java:115)
  Caused by: java.lang.AbstractMethodError
      at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:918)
      at org.apache.commons.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:918)
      at org.apache.commons.dbcp2.PoolableConnection.validate(PoolableConnection.java:283)
      at org.apache.commons.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:357)
      at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2307)
      at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2290)
      at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)
      at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)
      at org.apache.activemq.store.jdbc.TransactionContext.lockAndWrapped(TransactionContext.java:70)
      at org.apache.activemq.store.jdbc.TransactionContext.getConnection(TransactionContext.java:63)
      at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.loadAdapter(JDBCPersistenceAdapter.java:451)
      at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.createAdapter(JDBCPersistenceAdapter.java:434)
      at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.getAdapter(JDBCPersistenceAdapter.java:383)
      at org.apache.activemq.store.jdbc.JDBCPersistenceAdapter.init(JDBCPersistenceAdapter.java:296)
      at org.apache.activemq.broker.LockableServiceSupport.preStart(LockableServiceSupport.java:89)
      at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:54)
      at org.apache.activemq.broker.BrokerService.doStartPersistenceAdapter(BrokerService.java:675)
      at org.apache.activemq.broker.BrokerService.startPersistenceAdapter(BrokerService.java:659)
      at org.apache.activemq.broker.BrokerService.start(BrokerService.java:623)
      at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1700)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1639)
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1568)
  </pre>
  
  <p><strong>ActiveMQ.xml is as follows:</strong></p>
  
  <pre><code>  &lt;beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"&gt;
  
          &lt;bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt;
              &lt;property name="locations"&gt;
                  &lt;list&gt;
                      &lt;value&gt;file:${activemq.conf}/credentials.properties&lt;/value&gt;
                      &lt;value&gt;file:${activemq.conf}/jdbc.properties&lt;/value&gt;
                  &lt;/list&gt;
              &lt;/property&gt;
          &lt;/bean&gt;
  
         &lt;!-- Allows accessing the server log --&gt;
          &lt;bean id="logQuery" class="io.fabric8.insight.log.log4j.Log4jLogQuery"
                lazy-init="false" scope="singleton"
                init-method="start" destroy-method="stop"&gt;
          &lt;/bean&gt;
  
          &lt;broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}"&gt;
  
              &lt;destinationPolicy&gt;
                  &lt;policyMap&gt;
                    &lt;policyEntries&gt;
                      &lt;policyEntry topic="&gt;" producerFlowControl="true"&gt;
  
                        &lt;pendingMessageLimitStrategy&gt;
                          &lt;constantPendingMessageLimitStrategy limit="1000"/&gt;
                        &lt;/pendingMessageLimitStrategy&gt;
                      &lt;/policyEntry&gt;
                    &lt;/policyEntries&gt;
                  &lt;/policyMap&gt;
              &lt;/destinationPolicy&gt;
  
  
              &lt;managementContext&gt;
                  &lt;managementContext createConnector="true"/&gt;
              &lt;/managementContext&gt;
  
  
              &lt;persistenceAdapter&gt;
                  &lt;jdbcPersistenceAdapter dataDirectory="${base}/data/" dataSource="#oracle-ds"&gt;
                      &lt;statements&gt;
                          &lt;statements tablePrefix="AMQ_"/&gt;
                      &lt;/statements&gt;
                  &lt;/jdbcPersistenceAdapter&gt;
              &lt;/persistenceAdapter&gt;
  
  
                &lt;systemUsage&gt;
                  &lt;systemUsage&gt;
                      &lt;memoryUsage&gt;
                          &lt;memoryUsage percentOfJvmHeap="70" /&gt;
                      &lt;/memoryUsage&gt;
                      &lt;storeUsage&gt;
                          &lt;storeUsage limit="100 gb"/&gt;
                      &lt;/storeUsage&gt;
                      &lt;tempUsage&gt;
                          &lt;tempUsage limit="50 gb"/&gt;
                      &lt;/tempUsage&gt;
                  &lt;/systemUsage&gt;
              &lt;/systemUsage&gt;
  
              &lt;transportConnectors&gt;
                  &lt;!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB --&gt;
                    &lt;transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;amp;wireformat.maxFrameSize=104857600"/&gt;
                  &lt;transportConnector name="stomp" uri="stomp://0.0.0.0:61613"/&gt;
              &lt;/transportConnectors&gt;
  
              &lt;!-- destroy the spring context on shutdown to stop jetty --&gt;
              &lt;shutdownHooks&gt;
                  &lt;bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /&gt;
              &lt;/shutdownHooks&gt;
  
          &lt;/broker&gt;
  
       &lt;import resource="jetty.xml"/&gt;
  
          &lt;bean id="oracle-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"&gt;
              &lt;property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/&gt;
              &lt;property name="url" value="${url} /&gt;
              &lt;property name="username" value="${oracle.jdbc.username}"/&gt;
              &lt;property name="password" value="${oracle.jdbc.password}"/&gt;
              &lt;property name="maxTotal" value="20"/&gt;  
              &lt;property name="poolPreparedStatements" value="true"/&gt;
            &lt;/bean&gt;
      &lt;/beans&gt;
  </code></pre>