linux - WAS缓存问题
PHPz
PHPz 2017-04-17 16:31:00
0
0
959

问题场景:在was上第一次部署增量包文件中包含了.rar格式的文件/models/customerPayee.rar,第二次部署增量包(即使是空的包)的时候会报错。

WAS管理台上错误描述如下: Updating... Check the SystemOut.log on the deployment manager or server where the application is deployed for specific information about the EJB deployment process as it occurs. Update of corporbank has started. ADMA5058I: Application and module versions are validated with versions of deployment targets. ADMA5009I: Extracting application archive to /usr/IBM/WebSphere/AppServer/profiles/Dmgr01/wstemp/wstemp/app_15986481d23/ext. ADMA5065E: Exception in FileMergeTask org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ReopenException: IWAE0016E IOException occurred while reopening models/customerPayee.rar. ADMA0185W: An update application operation failed and the configuration session could not be restored to its state before the operation was initiated. The configuration session is in an inconsistent state, and changes made in the session should be discarded. ADMA5011I: The cleanup of the temp directory for application corporbank is complete. Update of corporbank has ended.
打开/usr/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/dmgr/SystemErr.log日志,日志内容如下: [1/10/17 18:17:54:172 CST] 000000a0 SystemErr R org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ReopenException: IWAE0016E IOException occurred while reopening models/customerPayee.rar Stack trace of nested exception: java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.(ZipFile.java:137) at java.util.zip.ZipFile.(ZipFile.java:154) at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.ZipFileLoadStrategyImpl.(ZipFileLoadStrategyImpl.java:163) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.createLoadStrategy(CommonarchiveFactoryImpl.java:523) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.createChildLoadStrategy(CommonarchiveFactoryImpl.java:439) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl.createLoadStrategyForReopen(ArchiveImpl.java:775) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl.reopen(ArchiveImpl.java:2527) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl.reopen(ArchiveImpl.java:2564) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl.reopen(ArchiveImpl.java:2506) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl.extract(ArchiveImpl.java:960) at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ArchiveImpl.extract(ArchiveImpl.java:952) at com.ibm.ws.management.application.AppUpdate.createDirsInPath(AppUpdate.java:206) at com.ibm.ws.management.application.AppUpdate.mergeFiles(AppUpdate.java:128) at com.ibm.ws.management.application.task.FileMergeTask.updatePartialEar(FileMergeTask.java:375) at com.ibm.ws.management.application.task.FileMergeTask.update(FileMergeTask.java:300) at com.ibm.ws.management.application.task.FileMergeTask.performTask(FileMergeTask.java:147) at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:294) at java.lang.Thread.run(Thread.java:736)
后面我把/ebank/corporbank/models/customerPayee.rar的文件删掉后重启服务还是不行,初步分析应该是WAS将每次部署的包都缓存起来了, 每次部署增量包时,FileMergeTask合并文件时会先读取这个缓存文件,然后根据SystemErr.log日志分析是WAS不支持读取.rar文件,因此而报错。
然后我就分析去删除这个缓存应用的文件,找到的是目录如下: /usr/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/IBSUWAS1Cell01/applications/corporbank.ear,我将这个corporbank.ear 删除掉或者移走的话,重启企业服务后,再部署任何增量包都是OK的。
PHPz
PHPz

学习是最好的投资!

répondre à tous (0)
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!