我有一个需求,需要编写一个Java程序,在请求时远程启动或停止JBoss服务器。请问有什么建议吗?其中一种选择可能是调用启动/停止脚本,但这个Java程序(可能是Servlet或JSP)存在于不同的机器上。我们使用的是JBoss服务器7。
我有一个需求,需要编写一个Java程序,在请求时远程启动或停止JBoss服务器。请问有什么建议吗?其中一种选择可能是调用启动/停止脚本,但这个Java程序(可能是Servlet或JSP)存在于不同的机器上。我们使用的是JBoss服务器7。
一个简单的方法可以远程启动和停止Jboss,只需使用run.sh和shutdown.sh脚本,并指向正确的主机和端口。如果你使用Linux系统,可以运行:
rsh user@host /path/to/jboss/bin/run.sh
rsh user@host /path/to/jboss/bin/shutdown.sh
您可以使用Java执行Shell命令,可以使用Runtime exec 方法:
Runtime.getRuntime().exec("shell command here");
有关Java exec方法的更多详细信息,请参见此完整答案。
更好的选择是以编程方式使用JMX控制台,通过在服务器MBean上调用关闭方法,您可以停止/重新启动Jboss实例。 JMX方法更强大,因为您可以监视和管理Jboss运行实例的每个方面(例如日志记录,内存或CPU)。请查看此链接以开始。
我创建了一段代码片段来帮助您入门,请查看这个有效的解决方案:http://snipt.org/Ahhjh4
记住:
祝您好运!