WebSphere维护:当心您部署的应用程序丢失

【写在前面】  如果您阅读当前文章后决定测试,那么我首先建议您:

在测试前将您的应用备份好,否则可能面临应用程序丢失的灾难。

 

2010年公司服务器进行迁移,迁移过程中无意发现了WebSphere极为危险的一面:应用程序丢失!
所用版本:WebSphere Application Server  6.1.0.0 ;

  以下部署是用web方式连接WebSphere控制台进行配置应用,至于使用命令行是否也存在此问题并未作考证。


我们部署WebSphere 时一般有两种方式:
一、将应用打成发布包,然后直接部署到服务器;
二、发布一个空包,部署好应用后再完善应用;
不论采用哪种方式,在修改WebSphere参数时都面临着灭顶的灾难:应用丢失!

 

一般部署应用时都会选择第2种方式,先发布一个空包,然后再去丰富应用程序,而不是部署完整的发布包;

且我们的应用程序可能随时升级,或者您的应用程序在运行过程中会产生一系列的文件、日志等;

 

当应用程序丢失时,如果运气好刚做过应用程序的备份,应用程序是可以补救的,但是我们的文档、日志等就再也无法挽回了。

 

具体情况是这样的,当时我们发布了空包,因为要验证应用是否正常,我们将WebSphere 的数据源配置为测试库的参数;

重启了WebSphere服务,验证数据库连接:ok;验证应用程序:ok;

当确认应用能正常运行之后,我们将升级后的应用程序部署上去,重启了WebSphere服务,应用程序顺利的连接数据库并正常运行;

经过一段时间的验证运行,确定应用程序正常了,我们将WebSphere的数据库参数改为生产的配置,重启WebSphere,结果杯具发生了:刚刚升级好的应用程序全部丢失,被还原成了刚发布的空包时的状态……

 

最初我们没注意到是更改数据库参数造成的,直到程序完全部署完毕了,准备切换上线的时候,实施工程师看了一眼数据库参数做最后的检查,参数一点都没有改变,只是习惯性的点击了一下【保存】,等所有参数检查完毕后,重新重启了一下应用,杯具再次出现,所有的应用又恢复成刚发布的空包状态。无语……

 

  发现此问题后,我们在测试环境多次实验,结果表明,无论WebSphere 的数据源参数是否变化过,比如修改IP、端口、数据源名称、备注信息,甚至什么都不修改,只要点击【保存】,重启WebSphere后应用程序就被还原成刚发布时的状态,毫无挽回的可能。

如果您的WebSphere是自动更新配置的,那不用重启,您的应用也会荡然无存……

 


【建议】:每次修改参数前一定要将应用完全备份到异地机器上;

最最谨慎的是,不论您是否有修改参数的打算,只要通过Web登录WebSphere,登录前都要先到服务器上备份您的应用。

<时间仓促未曾润饰,若有不当之处,还请批评指正>

你可能感兴趣的:(WebSphere)