2008-09-05 73 views
5

有谁知道是否有可能重启J2EE应用程序(从应用程序)?如果是这样,怎么样?你能以编程方式重新启动一个j2ee应用程序吗?

我希望能够以app-server-agnostic的方式做到这一点,如果可能的话。

该应用程序将在许多不同的应用程序服务器上运行 - 基本上无论客户端喜欢什么。

如果不可能以应用程序服务器无关的方式进行此操作,那么对我而言这可能并不值得。我总是可以显示一条消息,通知用户他们将需要手动重新启动应用程序。

回答

5

我建议你不太可能找到一个appserver不可知的方式。虽然我不假装知道你的要求,但我可能会质疑一个需要应用程序自身重新启动的设计,而不是部署新版本的安装程序。最后,我会建议,对于任何不平凡的目的,“任何”应用服务器都不起作用。您应该有一份支持的应用程序服务器和版本的列表,在发行说明中进行了说明,以便您可以测试所有这些应用程序,并且不必担心在不符合要求的服务器/版本上支持客户端。从经验来看,例如Apache Tomcat和BEA WebLogic之间总是存在细微的差异,而这些差异通常是非文档的,难以确定,直到遇到它们。

3

大多数应用程序服务器提供一个JMX接口,所以你可以调用它。

2

我建议使用servicewrapper来管理应用程序服务器,然后使用它的api方法来请求重新启动服务。会涉及到一些配置,很难知道这是否适用于您的特殊环境,但是这是我知道的唯一解决方案,即使是合理的跨服务器兼容。

相关问题