最近在使用Wildfly作为Web服务器,用的是10.0.0版本。默认情况下,Wildfly的部署方式是通过将项目放到%WILDFLY_HOME%standalonedeployments
下的,然后Wildfly会自动部署,这就是它的自动部署模式。
Wildfly的部署模式分为两种:
- 自动部署模式
- 手动部署模式
而Wildfly官方推荐哪种方式,可见%WILDFLY_HOME%standalonedeployments
下的README
文档。
我们项目一直都是使用自动部署模式的,但因为某些原因,偶现磁盘不可读导致应用宕机。
现修改为手动部署模式。(注意:此实践目前仅在本地环境测试
)
修改配置文件
修改%WILDFLY_HOME%standaloneconfigurationstandalone.xml
的<deployment-scanner
节点,添加如下两个属性:auto-deploy-zipped="false" auto-deploy-exploded="false"
。
然后在server
节点的最后添加上部署应用信息:
<deployments>
<deployment name="nick-web.war" runtime-name="nick-web.war">
<fs-archive path="D:greenwildfly-10.0.0.Finalstandalonedeployments
ick-web.war"/>
</deployment>
</deployments>
重启应用
执行%WILDFLY_HOME%instandalone.bat
启动项目
测试
准备两个同名的war包,它们的内容必须不一致。
1、项目运行中,在%WILDFLY_HOME%standalonedeployments
更新war包,Wildfly应该不会自动加载
更新后的war包,然后更新后war包的内容也不会
体现在服务上
2、通过%WILDFLY_HOME%instandalone.bat
重新启动项目,Wildfly应该会加载
更新后的war包,然后更新后war包的内容也会
体现在服务上