环境:MySQL 5.7 ActiveMQ 5.15.6 (windows release binary packet)
apache-activemq-5.15.6安装目录下,examples\activemq-jdbc-performance.xml文件可以作为参考。
需要修改配置文件:apache-activemq-5.15.6安装目录下\conf\activemq.xml文件。
修改要点:
1、增加Bean节点,内容如下:
<bean id="mysql-ds" 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/activemq?relaxAutoCommit=true"/>
<property name="username" value="root"/>
<property name="password" value="[replace with your password]"/>
<property name="maxTotal" value="200"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
其中"jdbc:mysql://localhost:3306/activemq?relaxAutoCommit=true" "activemq"为MySQL数库库中的SCHEMAS,需要手动创建,参数选默认吧。
2、根据apache-activemq-5.15.6安装目录\examples\activemq-jdbc-performance.xml文件中的提示:
<persistenceAdapter>
<!-- for mysql-ds below, add attribute: dataSource="#mysql-ds" -->
<jdbcPersistenceAdapter dataDirectory="${activemq.data}" cleanupPeriod="0" />
</persistenceAdapter>
修改apache-activemq-5.15.6安装目录下\conf\activemq.xml如下:
<!--这部份注释掉
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
-->
<persistenceAdapter>
<jdbcPersistenceAdapter dataDirectory="${activemq.data}/mysqldb" dataSource="#mysql-ds" cleanupPeriod="0" />
</persistenceAdapter>
3、需要复制MySQL安装目录\Connector J 5.1\mysql-connector-java-5.1.45-bin.jar文件到ActiveMQ安装目录\lib下
4、请检确保 ActiveMQ安装目录\lib\optional\commons-dbcp2-2.1.1.jar存在。
修改之后,保存,运行;检查MySQL数据库,activemq下,若存在activemq_acks,activemq_lock,activemq_msgs表示修改成功了。