提问人:Ashar 提问时间:10/2/2023 最后编辑:Ashar 更新时间:10/2/2023 访问量:44
需要通过重命名可部署的 war 文件来决定 tomcat 部署顺序
Need to dictate tomcat deployment order by renaming deployable war files
问:
我有以下战争文件可供部署
usapp.war
Phonix.war
VelotownAPI.war
我希望部署顺序如下:
Phonix.war -- First
usapp.war -- Second
VelotownAPI.war -- Third
有许多解决方案可用于设置部署顺序。但是,我正在寻找的唯一解决方案是重命名部署文件,因为文件名是按部署顺序考虑的。
因此,我重命名了部署,如下所示:
a_Phonix.war
b_usapp.war
c_VelotownAPI.war
但是,一旦 tomcat 服务器启动,它就不会按所需的顺序爆炸/部署上述重命名的战争。
我也尝试了下面的重命名,但它也没有帮助我获得所需的顺序。
1_Phonix.war
2_usapp.war
3_VelotownAPI.war
注意:
如果我像下面这样重命名战争,那么部署顺序就会起作用!
我也尝试了下面的重命名,但它也没有帮助我获得所需的顺序。
1.war ---> Phonix.war
2.war ---> usapp.war
3.war ---> VelotownAPI.war
您能否建议如何最好地重命名我的战争文件,以便 Tomcat 按所需顺序部署它们?
答:
1赞
Olaf Kock
10/2/2023
#1
为 tomcat 指定的唯一部署顺序如下:
- 将首先部署任何上下文描述符。
- 然后,将部署未被任何上下文描述符引用的分解 Web 应用程序。如果他们有关联的 .WAR 文件,并且它比分解的 Web 应用程序更新,则将删除分解的目录,并将从 重新部署 Web 应用程序。战争
- .将部署 WAR 文件
依赖其他任何东西就是依赖未指定的当前行为。相反,您应该为应用程序配备设备,以便在它们所依赖的其他应用程序不可用时正常处理。(无论如何,您都应该这样做,并在这种情况下测试他们的行为)
即使你找到了神奇的名字,或者你假设上下文描述符是按一定的顺序阅读的:它可能不是你期望的顺序(例如,它可能是按日期排列的,有时它可能与字母顺序相关 - 直到下一次更新)
接受未指定的部署顺序(也由基础规范指定)并为此做好准备。
或者(尽管仍然不建议)可以编写部署脚本。例如,启动一个空的雄猫,并通过管理器应用程序及其 API 远程控制它 - 当然,在那里,您可以实现您喜欢的任何订单。
评论
0赞
Ashar
10/2/2023
考虑到我们正在动态设置基础设施/实例,我正在考虑您的答案中的选项 1 和 2 不存在(无关紧要)。对于选项是我尝试使用 tomcat 考虑的名称首选项的地方。3. .WAR files will be deployed
1赞
Olaf Kock
10/2/2023
我理解。无论你发现什么,它都可能在未来的任何时候破裂。除了我上面给出的列表之外,您必须接受该顺序未指定,并为此做好计划。除非你让WAR文件一个接一个地出现 - 例如,通过像最后一段这样的机制,或者只是通过文件复制。
评论
1.war ---> Phonix.war 2.war ---> usapp.war 3.war ---> VelotownAPI.war
9.0.56