Activemq5.15.5持久化到mysql8.0.20

一、环境

  Activemq:5.15.5

  Mysql:8.0.20

  这里面一定要针对自己的环境进行配置,以前用的是mysql 5.x的版本,然后切换为8.0x的版本,各种报错,有配置文件的错误,有mysql授权远程登录等等...

 

二、引入jar包到Activemq安装目录下

  我这里Activemq的安装目录是(/usr/local/activemq/apache-activemq-5.15.5),为了避免出错这个mysql数据库的驱动包请保持和你自己windows上安装的版本一模一样.

 

三、替换Activemq默认的持久化方式

  具体的配置如下:

1
2
3
4
5
6
7
<persistenceAdapter>
    <!-- 注释掉默认的kahaDB-->
    <!-- <kahaDB directory="${activemq.data}/kahadb"/> -->
    <!-- 注意这里的dataSource的名字要和下面bean里面的名字对应上,这里的有一个#号,类似于spring中的ref(引用))
    createTablesOnStartup:第一次连接会为我们生成表,默认值是true,生成完了表之后,改为false-->
    <jdbcPersistenceAdapter useDatabaseLock="false" dataSource="#mysqlDs" createTablesOnStartup="true"/>
</persistenceAdapter>

  

四、配置数据源

  具体的配置如下:

1
2
3
4
5
6
7
8
<bean id="mysqlDs" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close" >
    <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
    <!-- 192.168.229.1是我windows上装的mysql,对于mysql 8.x以后的版本,请加上后面几个参数-->
    <property name="url" value="jdbc:mysql://192.168.229.1:3306/activemq?relaxAutoCommit=true&useSSL=false&serverTimezone=GMT%2B8" />
    <property name="username" value="root" />
    <property name="password" value="root" />
    <property name="poolPreparedStatements" value="true"/>
</bean>

  

五、启动Activemq

  启动之后,可以看到windows上安装的数据库中自动生成了这几张表,生成完了以后记得设置  createTablesOnStartup="false"

 

六、常见错误排查

1、出现了问题,不要慌,首先去看日志文件,这里有两种方式

  方式一、./activemq console 查看启动日志

  方式二、activemq的安装目录/data里面去查看日志

2、确认计算机主机名名称没有下划线(不是Linux虚拟机的名称)

3、如果是win7,停止ICS(运行–>services.msc找到Internet Connection Sharing (ICS)服务,改成手动启动或禁用)

4、window和Linux的防火墙是否已经关闭

5、Host is not allowed to connect to this MySQL server:Mysql不允许root用户远程登录,所以远程登录失败了

  解决方案:  

1
2
3
4
5
6
7
8
// 在装有MySQL的机器上使用命令登录mysql 
MySQL mysql -u root -p密码
// 使用mysql数据库
use mysql;
// 这种方式是开放所有IP的root访问权限,如果是正式环境还是建议使用开放指定IP的方式
update user set host = ‘%’ where user = ‘root’;
// 执行刷新权限配置
FLUSH PRIVILEGES;

  开放指定IP的方式

    方式一:授权用户root使用密码jb51从任意主机连接到mysql服务器

    方式二:授权用户root使用密码jb51从指定ip为218.12.50.60的主机连接到mysql服务器

  

  

 

posted @   变体精灵  阅读(447)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示