gpt4 book ai didi

java - 重启嵌入式tomcat

转载 作者:行者123 更新时间:2023-11-28 22:50:34 24 4
gpt4 key购买 nike

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

代码没有变化,但是当我以 mvn tomcat7:run 开始时,服务器打开端口并且THEN 尝试启动 contextInitialized 方法.

为什么?

我问是因为我使用初始化的上下文来查找正在运行的 tomcat 并杀死它,以便新实例可以使用它的端口。如果 tomcat 获取端口失败,然后检查不再起作用的 contextInitialized 方法。有没有另一种方法可以在不停机的情况下重新部署嵌入式 tomcat?

最佳答案

在 tc6 中,我们遇到了 contextInitialized 方法需要有关 connector 的信息的问题,例如,如果 https 和 mutual-authentications 是在 tomcat-users.xml 中使用和注册了哪些用户。

不幸的是,这些信息在上下文初始化时不可用,并且在 users-list 加载之前(但在上下文初始化之后)传入的请求被拒绝。

这就是我们在 tc7 中更改它的原因。

由于某种原因 (idc),您正在使用多个 tomcat,解决方案最好在更高级别上。

My suggestion: Replace the HTTP-Connector by a AJP-Connector on both tomcats using different ports, install Apache's httpd and switch the tomcats by reload httpd-config.

AJP details .

关于java - 重启嵌入式tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41299338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com