有谁知道是否可以(从应用程序)重新启动 J2EE 应用程序?如果是这样,怎么做?
如果可能的话,我希望能够以与应用程序服务器无关的方式来做到这一点。
该应用程序将在许多不同的应用程序服务器上运行——基本上是客户喜欢的任何服务器。
如果不可能以与应用程序服务器无关的方式执行此操作,那么出于我的目的可能不值得这样做。我总是可以只显示一条消息,通知用户他们需要手动重新启动应用程序。
有谁知道是否可以(从应用程序)重新启动 J2EE 应用程序?如果是这样,怎么做?
如果可能的话,我希望能够以与应用程序服务器无关的方式来做到这一点。
该应用程序将在许多不同的应用程序服务器上运行——基本上是客户喜欢的任何服务器。
如果不可能以与应用程序服务器无关的方式执行此操作,那么出于我的目的可能不值得这样做。我总是可以只显示一条消息,通知用户他们需要手动重新启动应用程序。
我建议您不太可能找到与应用服务器无关的方式。虽然我不假装知道您的要求,但我可能会质疑要求应用程序自行重新启动的设计,而不是部署新版本的安装程序。最后,我建议对于任何重要的目的,“任何”应用程序服务器都不起作用。你应该有一个受支持的应用服务器和版本的列表,记录在你的发行说明中,这样你就可以对所有这些进行测试,而不必担心在不合格的服务器/版本上支持客户端。根据经验,例如,Apache Tomcat 和 BEA WebLogic 之间总是存在细微的差异,而这些差异通常是无证的,并且在您遇到它们之前很难确定。
大多数应用程序服务器都提供 JMX 接口,因此您可以调用它。
我建议使用 servicewrapper 来管理应用程序服务器,然后使用它的 api 方法来请求重新启动服务。将涉及一些配置,很难知道这是否适用于您的特定环境,但这是我所知道的唯一解决方案,它甚至可以合理地跨服务器兼容。