【问题标题】:Glassfish 4 deployment order for auto deploying war-filesGlassfish 4 自动部署战争文件的部署顺序
【发布时间】:2018-02-10 04:36:54
【问题描述】:
我的应用程序由一组战争文件组成。其中一个组件有一个计划任务 wcich 依赖于其他一些战争。所以我想指定这些组件的部署顺序。我通过将所有战争放在一些远程生产服务器的 glassfish autodeploy 文件夹中来部署我的应用程序,因此我不能使用 domain.xml 来配置部署顺序。我想在描述符中指定战争文件部署顺序,比如 glassfish-web.xml。但我在其中任何一个中都找不到该参数。有可能吗?
【问题讨论】:
标签:
java
deployment
war
glassfish-4
【解决方案1】:
据我所知,您无法在 autodeploy 目录中为多个 war 文件指定部署顺序。
原因是 glassfish AutoDeployDirectoryScanner 通过 File.listfiles() 扫描目录,正如 File 的 javadoc 所述:
无法保证结果数组中的名称字符串会以任何特定顺序出现
glassfish 自动部署程序会创建一个带有 .war_deployed 后缀的空文件。
示例: 对于 yourfile.war,自动部署程序会创建一个 yourfile.war_deployed 文件。原来的war文件仍会在目录中。
我的建议:
您可以检查.war_deployed文件是否存在,并触发下一个war文件的复制过程。
如果上一次战争部署成功,您可能会运行一个脚本/cronjob,它将文件按所需顺序一个接一个地复制到自动部署目录。