重新启动嵌入式tomcat



我通过maven-tomcat-plugin使用嵌入式tomcat。在该插件的第6版中,如果我执行mvn tomcat6:run,则服务器启动,并且contextInitialized方法在之前执行该连接器尝试打开端口。

没有代码的更改,但是当我从mvn tomcat7:run开始时,服务器打开端口,然后然后尝试启动contextInitialized方法。

为什么?

我要问的是因为我使用了初始化的上下文来查找运行的tomcat并杀死它,以便新实例可以接收其端口。如果Tomcat失败了端口,然后检查不再起作用的上下文化方法。有其他方法可以在不下降的情况下重新部署嵌入式tomcat吗?

在TC6中,我们遇到了一个问题,即contextInitialized -Methode需要有关connector的信息,例如,是否使用了https和互置词,并且用户在tomcat-users.xml中注册的用户。

不幸的是,在上下文限制中不可用的信息,以及在加载users-list之前(但在上下文中)不在的请求。

这就是为什么我们在TC7中更改了此。

您出于某种原因(IDC)使用了多个tomcats,解决方案应该更好地处于更高的水平。

我的建议:使用不同端口在两个tomcats上通过AJP连接器替换HTTP - 连接器,安装Apache的HTTPD,然后通过重新加载HTTPD-CONFIG切换Tomcats。

AJP详细信息。

最新更新