当 运行 在 tomcat 时,Axis2 不断在临时文件夹中生成文件

Axis2 keeps generating files in temp folder when running on tomcat

在 tomcat 上部署使用 Axis2 进行 SOAP 通信的 Web 应用程序时,然后在 tomcat 临时目录 'apache-tomcat-6.0.29\temp' 我们不断得到一个文件夹,例如 'axis2-tmp-21936.tmp',其中包含部署的 Axis2 模块(例如 Rampart[=30)的 jar =](例如 axis21098rampart-mar-1.5.1.jar)。

文件不断增长,直到填满您的硬盘。

我尝试在后续调用中使用相同的 contextstub,但这并不能解决问题。

原来这是 Axis2 中已知的 issue ,在 1.7 版本中已修复,尚未发布,根据某些人的说法甚至可能无法修复。

注意,在eclipse上部署时,这些文件到C:\users\User\appdata\local\temp\;此外,在独立的非 Web 应用程序上,文件仅生成一次并在重新启动时被删除。

这个问题被证明是无效的,因为上下文总是被重新创建 - 下面的答案中有详细信息。

这是由于不断重新创建 class 造成的,它在每次服务调用时初始化一个新的上下文。

简而言之:

  • Axis2(临时文件)问题不会在 Axis2 1.5.4 上重现。
  • 临时文件仅在创建新的 Axis2 上下文时生成。
  • 创建新存根 class 时不会生成临时文件。