我知道使用UPS防止服务器立即关闭的重要性.如何在Java应用程序中侦听此类事件?
假设我的UPS将在断电时继续满负荷运行5分钟.他们的服务器将继续运行,但我的应用程序将如何知道是时候开始正常关闭事情了?
这个特定的应用程序主要处理客户端到数据库事务.我主要关注的是在服务器在mysql事务中间立即断电的情况下数据损坏.以下几点是处理电力情况的正确方法吗?
有没有办法在恢复供电时自动重启服务器和应用程序,还是必须手动完成?
处理 UPS 可能必须在操作系统级别进行处理,并使用 SNMP 或系统脚本等监控工具。
如果您在网上查找,您可能会发现许多脚本在收到来自 UPS 的电源故障事件时执行某些操作。
你必须向你的 JVM PID 发送一个 QUIT 信号(在 Unix/Linux 上),并且在 JVM 端你可以使用方法注册一个关闭钩子Runtime.addShutdownHook
如果使用像 Spring 这样的框架,它肯定已经注册了一些东西,并且会调用 bean 的 destroy 方法(如果配置)。