Java 如何退出rmi服务器应用程序

Java 如何退出rmi服务器应用程序,java,rmi,Java,Rmi,如果我们要让一个RMI服务器应用程序通过autosys永久运行,然后在夜间关闭几个小时,那么如果应用程序是从命令行启动的,我们如何发送关闭消息 例如,我们使用java-jarserver.jar启动jar,现在应用程序正在运行。如果它包含一个applicationClose()方法,我们如何调用它?我们可以解析来自客户端的消息,但这当然是不可取的?完全可以使用关闭请求方法,该方法返回OK,然后调用System.exit() 在调用它之前,您可能希望使用某种必需的凭据来保护它,但除此之外,您没有理

如果我们要让一个RMI服务器应用程序通过autosys永久运行,然后在夜间关闭几个小时,那么如果应用程序是从命令行启动的,我们如何发送关闭消息


例如,我们使用
java-jarserver.jar
启动jar,现在应用程序正在运行。如果它包含一个
applicationClose()
方法,我们如何调用它?我们可以解析来自客户端的消息,但这当然是不可取的?

完全可以使用关闭请求方法,该方法返回OK,然后调用
System.exit()

在调用它之前,您可能希望使用某种必需的凭据来保护它,但除此之外,您没有理由不这样做


另一个选项是让进程使用您自己的协议打开另一个TCP端口以关闭,或者安装一个JMX扩展以远程关闭服务。

它甚至不需要调用
System.exit()
,只需取消端口本身,让DGC和GC发挥其魔力。