使用JDBC作为持久化需要的配置(使用的mysql版本的8.x):
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds" createTablesOnStartup="true"/>
</persistenceAdapter>
<!--
在jdbcPersistenceAdapter标签中设置了createTablesOnStartup属性为true时在第一次启动ActiveMQ时,
ActiveMQ服务节点会自动创建所需要的数据表。启动完成后可以去掉这个属性,或者更改createTablesOnStartup属性为false。
-->
<bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://主机ip:3306/activemq?relaxAutoCommit=true&serverTimezone=UTC&useSSL=true"/>
<property name="username" value="用户名"/>
<property name="password" value="密码"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
如是连接Windows下的mysql,windows的防火墙一定要关闭,不然远程连接不了!!!!!!
ActiveMQ启动失败,看日志文件在 /data/active.log vim activemq.log 查看最后一行错误信息:
- Host is not allowed to connect to this MySQL server 报错,就是MySQL不允许root用户远程登录,所以远程登录失败了
进入mysql安装目录/bin/ cmd进入命令行 ,输入MySQL mysql -u root -p 密码;
use mysql;
update user set host = ‘%’ where user = ‘root’;
FLUSH PRIVILEGES;
重启activemq即可