tomcat 和 mysql 在一台机器时重启机器后 tomcat 链接 mysql 超时

2020-09-17 11:37:17 +08:00
 lskjdfgl

tomcat 和 mysql 时部署在同一台服务器上,都是开机启动 重启服务器后 tomcat 中的项目需要连接 mysql,这个时候 mysql 还没有启动成功,会导致项目启动失败,必须手动重新启动 tomcat 才能正常访问 请问各位大佬有没有什么办法可以控制 tomcat 和 mysql 的启动顺序或其他的解决办法。

1677 次点击
所在节点    MySQL
9 条回复
xx6412223
2020-09-17 13:43:21 +08:00
写脚本启动 mysql 后,轮询监听启动成功后再启动 tomcat
des
2020-09-17 13:58:59 +08:00
参考“Docker Compose 控制启动顺序”的方法,用 wait-for-it 脚本
https://docs.docker.com/compose/startup-order/
MeteorCat
2020-09-17 14:27:06 +08:00
方法一:
在 systemd 的 Tomcat.service 当中的[Unit]追加个 After=myself.service

方法二:
在 systemd 的 Tomcat.service 当中的[Service]追加个 ExecStartPre=/bin/sleep 3
MeteorCat
2020-09-17 14:27:52 +08:00
@MeteorCat mysql.service 不是 myself,英语自动纠正了
lskjdfgl
2020-09-17 14:37:40 +08:00
@MeteorCat 服务器用的是 windows
MeteorCat
2020-09-17 14:46:35 +08:00
@lskjdfgl window 系统服务有个延缓启动选项,计算器管理 - 服务和应用程序 - 服务找到 tomcat 服务之后有自动(延迟启动);
不过这种方法我个人情况用的,正式我没用过 window 服务器
kingright
2020-09-17 14:47:03 +08:00
Windows 设置 tomcat 服务的依赖,指向 MySQL
lskjdfgl
2020-09-17 15:13:15 +08:00
@MeteorCat @kingright 感谢 通过 sc config Tomcat depend= Mysql 配置成功
zjsxwc
2020-09-17 15:47:11 +08:00
docker healthcheck

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707860

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX