如果我们有一个通过 autosys 永久运行的 RMI 服务器应用程序,然后在夜间关闭几个小时,如果该应用程序是从命令行启动的,我们如何发送关闭消息。
例如,我们使用 java -jar server.jar
启动 jar,现在应用程序正在运行。如果它包含一个 applicationClose()
方法,我们如何调用它 - 我们可以解析来自客户端的消息,但这当然是不可取的?
最佳答案
完全可以接受关闭请求方法,该方法返回 OK,然后调用 System.exit()
。
您可能希望在调用它之前使用某种必需的凭据来保护它,但除此之外,没有理由不能这样做。
另一个选项是进程使用您自己的协议(protocol)打开另一个 TCP 端口来关闭,或者安装 JMX 扩展来远程关闭服务。
关于java - 如何退出rmi服务器应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464121/