Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WAS 7的java.util.zip.ZipFile.EnsureOrzipException_Java_Web Services_Websphere 7 - Fatal编程技术网

WAS 7的java.util.zip.ZipFile.EnsureOrzipException

WAS 7的java.util.zip.ZipFile.EnsureOrzipException,java,web-services,websphere-7,Java,Web Services,Websphere 7,问题与此处描述的完全相同: 解决后,我将我的应用程序模块更改为2.4,解决了这个问题。我没有像决议中提到的那样更改wsdl的路径。但是,一旦更改了应用程序模块,就不会生成webservices.xml文件。我需要生成xml文件 有没有人可以用其他方法来解决我不需要更改应用程序模块的问题 关于,您所指的原始问题分为两部分。一个是关于ZIPException。由于该异常是在WebSphere代码的深处触发的,因此您不太可能在这里得到该问题的解决方案。您应该就此联系IBM支持部门。另一部分是关于内存

问题与此处描述的完全相同:

解决后,我将我的应用程序模块更改为2.4,解决了这个问题。我没有像决议中提到的那样更改wsdl的路径。但是,一旦更改了应用程序模块,就不会生成webservices.xml文件。我需要生成xml文件

有没有人可以用其他方法来解决我不需要更改应用程序模块的问题


关于,

您所指的原始问题分为两部分。一个是关于
ZIPException
。由于该异常是在WebSphere代码的深处触发的,因此您不太可能在这里得到该问题的解决方案。您应该就此联系IBM支持部门。另一部分是关于内存问题。根据我使用部署在WebSphere上的JAX-WS服务(以及一般使用WebSphere)的经验,我可以提出两个建议:

  • 最初的问题是,问题发生在“几次部署之后”。这导致类装入器泄漏。类加载器泄漏是一种特殊类型的内存泄漏,它防止应用程序的旧类加载器在重新部署或重新启动应用程序后被垃圾收集(有关更详细的描述,请参阅)。这可能是由应用程序或服务器运行时引起的。经验表明,WebSphere本身存在一些导致此类泄漏的问题,而IBM在解决这些问题方面通常效率不高。我曾经编译过一个我遇到的这种类型的已知WebSphere问题列表。它已经出版了。可以看出,基本上任何或多或少复杂的JavaEE应用程序都会受到这种问题的影响。因此,您应该做好准备,在不重新启动服务器的情况下频繁重新部署时,它最终会耗尽内存

    注意:为了保护IBM,应该说其他应用服务器在这方面的性能并不一定更好

  • 有一种特殊情况,部署在WebSphere上的JAX-WS服务可能会意外地消耗大量内存。对于使用自顶向下方法(即从WSDL开始)开发的服务,但具有不引用原始WSDL的
    @WebService
    注释的服务,会发生这种情况。在这种情况下,WebSphere(非常正确)认为它们是自底向上的服务,并基于JAX-WS/JAXB2注释生成WSDL和XML模式文档。这些文档保存在内存中,在某些情况下(特别是对于复杂的服务),可能比原始WSDL和XML模式文档大得多。我曾经看到一个应用程序为此消耗了200MB的堆。为了避免这种情况,请确保在创建自顶向下的JAX-WS服务时,将原始WSDL和XML模式文档打包到应用程序中,并且服务实现具有正确引用这些文档的
    @WebService
    注释