activemq 5.13.2 jdbc 数据库持久化 异常 找不到驱动程序

原文:https://my.oschina.net/u/2284972/blog/662033

摘要: activemq jdbc 数据库持久化 异常 找不到驱动程序 Caused by: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

配置activemq 5.13.2 数据库持久化的时候,首先将mysql数据库驱动拷贝到activemq 的lib目录下,

然后配置activemq.xml 文件

增加两个配置点:

    1,

        <persistenceAdapter>           

 <jdbcPersistenceAdapter  dataSource="#mysql" createTablesOnStartup="false"/>

        </persistenceAdapter>

dataSource:引用的数据源

createTablesOnStartup: 表示启动的是自动创建三张表

2,

<!-- jdbc 数据库持久化 mysql配置  -->

<bean id="mysql" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">

<property name="driverClassName" value="com.mysql.jdbc.Driver"/>

<property name="url" value="jdbc:mysql://localhost:3306/test_mq?relaxAutoCommit=true"/>

<property name="username" value="root"/>

<property name="password" value="root"/>

<property name="maxTotal" value="200"/>

<property name="poolPreparedStatements" value="true"/>

    </bean>

这个地方连接池使用的是org.apache.commons.dbcp2.BasicDataSource的连接池 ,

因为activemq5.13.2   自身提供的是commons-dbcp2-2.1.1.jar 这个版本的jar包,

如果填写(使用)org.apache.commons.dbcp.BasicDataSource,就会提示找不到类,因为org.apache.commons.dbcp.BasicDataSource 在dbcp1.x中 不在dbcp2.x中。

由于commons-dbcp所用的连接池出现版本升级,因此commons-dbcp2中的数据库池连接配置也发生了变化

由于commons-dbcp升级到commons-dbcp2 数据库连接池的连接配置也发生了变化(属性名变了),

版本1.x中最大活动连接数属性名称为:maxActive

版本2.x中最大活动连接数属性名称为:maxTotal

配置完成后,你在重新启动数据库就会从新创建三张表。

原文地址:https://www.cnblogs.com/shihaiming/p/6015808.html