0

当我在 上部署应用程序时WebSphere Application Server 7.0,我遇到了异常并且需要花费太多时间来部署。经过几次部署后,服务器开始生成堆转储并耗尽内存。在我们的应用程序中,我们JAX-WS用于生成 Web 服务客户端。我们也JSF 1.2用于视图。任何建议表示赞赏。

000000ff annotations   E ClassScanner scanInputStream Exception occurred while scanning input stream:{0}
                                 java.util.zip.ZipException: ZipFile closed
    at java.util.zip.ZipFile.ensureOpenOrZipException(ZipFile.java:424)
    at java.util.zip.ZipFile.access$1100(ZipFile.java:40)
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:456)
    at java.util.zip.ZipFile$1.fill(ZipFile.java:241)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:269)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
    at java.io.FilterInputStream.read(FilterInputStream.java:127)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:180)
    at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:232)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:157)
    at java.io.FilterInputStream.read(FilterInputStream.java:127)
    at org.objectweb.asm.ClassReader.a(Unknown Source)
    at org.objectweb.asm.ClassReader.<init>(Unknown Source)
    at com.ibm.ws.amm.scan.util.ClassScanner.scanInputStream(ClassScanner.java:231)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl$1.applyTo(AnnotativeMetadataManagerImpl.java:259)
    at com.ibm.wsspi.amm.scan.context.ArchiveInputStreamData.iterate(ArchiveInputStreamData.java:241)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:257)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:218)
    at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(AnnotationsProcessorImpl.java:108)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.processAnnotations(WARFileImpl.java:297)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:243)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:173)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getExtensions(WARFileImpl.java:440)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getContextRoot(WARFileImpl.java:736)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.loadDeploymentDescriptor(Ear50NoDDImportStrategyImpl.java:388)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.importMetaData(Ear50NoDDImportStrategyImpl.java:253)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl.getDeploymentDescriptor(EARFileImpl.java:377)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeModuleExtensions(EARFileImpl.java:641)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeAfterOpen(EARFileImpl.java:720)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openSpecificArchive(CommonarchiveFactoryImpl.java:1517)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:1205)
    at com.ibm.etools.commonarchive.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:552)
    at com.ibm.ws.management.application.client.AppInstallHelper.getArchive(AppInstallHelper.java:271)
    at com.ibm.ws.management.application.client.AppInstallHelper.getEarFile(AppInstallHelper.java:157)
    at com.ibm.ws.webservices.admin.utils.CommonUtils.getMergeEar(CommonUtils.java:450)
    at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTask.performTask(ServiceIndexServerTask.java:126)
    at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:284)
    at java.lang.Thread.run(Thread.java:735)

[9/13/12 12:00:44:138 IST] 000000ff annotations   E ArchiveInputStreamData iterate unable to open file iterator
                                 java.util.zip.ZipException: ZipFile closed
    at java.util.zip.ZipFile.ensureOpenOrZipException(ZipFile.java:424)
    at java.util.zip.ZipFile.access$1100(ZipFile.java:40)
    at java.util.zip.ZipFile$ZipFileInputStream.read(ZipFile.java:456)
    at java.util.zip.ZipFile$1.fill(ZipFile.java:241)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:229)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:269)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:328)
    at java.io.FilterInputStream.read(FilterInputStream.java:127)
    at java.io.PushbackInputStream.read(PushbackInputStream.java:180)
    at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:232)
    at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:152)
    at java.util.zip.ZipInputStream.read(ZipInputStream.java:157)
    at java.util.zip.ZipInputStream.closeEntry(ZipInputStream.java:103)
    at java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:81)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.NestedArchiveIteratorDirect.getInputStream(NestedArchiveIteratorDirect.java:117)
    at com.ibm.wsspi.amm.scan.context.ArchiveInputStreamData.iterate(ArchiveInputStreamData.java:238)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:257)
    at com.ibm.ws.amm.AnnotativeMetadataManagerImpl.scan(AnnotativeMetadataManagerImpl.java:218)
    at com.ibm.ws.amm.commonarchive.AnnotationsProcessorImpl.merge(AnnotationsProcessorImpl.java:108)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.processAnnotations(WARFileImpl.java:297)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:243)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.WARFileImpl.getDeploymentDescriptor(WARFileImpl.java:173)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getExtensions(WARFileImpl.java:440)
    at com.ibm.etools.commonarchive.impl.WARFileImpl.getContextRoot(WARFileImpl.java:736)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.loadDeploymentDescriptor(Ear50NoDDImportStrategyImpl.java:388)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.strategy.Ear50NoDDImportStrategyImpl.importMetaData(Ear50NoDDImportStrategyImpl.java:253)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.EARFileImpl.getDeploymentDescriptor(EARFileImpl.java:377)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeModuleExtensions(EARFileImpl.java:641)
    at com.ibm.etools.commonarchive.impl.EARFileImpl.initializeAfterOpen(EARFileImpl.java:720)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openSpecificArchive(CommonarchiveFactoryImpl.java:1517)
    at org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:1205)
    at com.ibm.etools.commonarchive.impl.CommonarchiveFactoryImpl.openEARFile(CommonarchiveFactoryImpl.java:552)
    at com.ibm.ws.management.application.client.AppInstallHelper.getArchive(AppInstallHelper.java:271)
    at com.ibm.ws.management.application.client.AppInstallHelper.getEarFile(AppInstallHelper.java:157)
    at com.ibm.ws.webservices.admin.utils.CommonUtils.getMergeEar(CommonUtils.java:450)
    at com.ibm.ws.webservices.admin.deploy.ServiceIndexServerTask.performTask(ServiceIndexServerTask.java:126)
    at com.ibm.ws.management.application.SchedulerImpl.run(SchedulerImpl.java:284)
    at java.lang.Thread.run(Thread.java:735)
4

1 回答 1

2

是啊,

经过长时间的研发终于得到了解决方案:)

下面的链接包含有用的信息。

http://www-01.ibm.com/support/docview.wss?uid=swg1PK85322

我们所做的只是将应用程序的模块级别更改为 2.4 并将 wsdl 文件夹放在 WebContent 下。主要问题是由于部署时应用程序的注释处理。模块元数据的部署过程需要一个新步骤来扫描模块中打包的类中的 Java 注释数据。由于我们使用 JAX-WS 作为 WebServices 的客户端,它包括注释处理。JAX-WS 的注解处理需要读取 wsdl 文件来为每个部署生成更新客户端。在读取 wsdl 的过程中,它最初位于 WEB-INF 文件夹中,因此遇到了问题。我只是更改了 wsdl 的位置,现在它工作正常。

于 2012-09-14T07:03:03.237 回答