Activiti Tomcat部署问题:重启后用户组丢失如何解决?
解决Activiti Explorer重启Tomcat后数据丢失的问题
核心原因
Activiti Explorer默认使用H2内存数据库,所有用户、组这类数据都只存在内存里——Tomcat一停止运行,内存里的临时数据就会被清空,重启自然就回到初始状态了。
具体解决步骤
1. 修改数据库配置文件
找到Tomcat下webapps\activiti-explorer\WEB-INF\classes目录里的db.properties文件,打开后把默认的内存数据库配置,替换成持久化的关系型数据库(比如MySQL、PostgreSQL)。以MySQL为例,修改后内容如下:
db=mysql jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/activiti?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC jdbc.username=你的MySQL用户名 jdbc.password=你的MySQL密码
2. 添加对应数据库的驱动jar包
把对应数据库的驱动jar(比如MySQL的mysql-connector-java-8.0.x.jar)复制到webapps\activiti-explorer\WEB-INF\lib目录下,确保Activiti能正常连接到数据库。
3. 初始化数据库
启动Tomcat前,先在MySQL里手动创建一个名为activiti的空数据库(字符集建议选utf8mb4或utf8)。启动Tomcat后,Activiti会自动创建所需的所有表结构,不用手动建表。
4. 验证配置效果
重启Tomcat后,进入Activiti Explorer创建几个测试用户和组,然后停止再重启Tomcat,检查这些数据是否还存在——如果能正常显示,就说明配置生效了。
额外提醒
- 如果你不想用MySQL,换成PostgreSQL等其他支持的数据库也可以,只需要对应修改
db.properties里的驱动类、连接URL、用户名密码,再添加对应驱动jar就行。 - 测试环境之外,尽量不要直接修改
webapps目录下的文件——Tomcat在某些场景下会重新解压war包,覆盖你的自定义配置。建议先把activiti-explorer.war解压到单独目录,修改配置后再重新部署这个目录。
内容的提问来源于stack exchange,提问作者Sami Meskaoui
相关产品推荐
相关产品推荐

