You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Michael Pilone (JIRA)" <ji...@apache.org> on 2008/12/10 14:42:44 UTC

[jira] Updated: (AXIS2-3883) file handles not being closed after successful call to webservice

     [ https://issues.apache.org/jira/browse/AXIS2-3883?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Pilone updated AXIS2-3883:
----------------------------------

    Attachment: TempFileManager.java

The TempFileManager which will put temporary files in a single folder and then cleanup old folders when the application is restarted. Please cite the DevX article and myself if the code is used in production. There is no official license on the code so Apache is free to do what they like with it.

> file handles not being closed after successful call to webservice
> -----------------------------------------------------------------
>
>                 Key: AXIS2-3883
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3883
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>    Affects Versions: 1.3
>         Environment: Windows server 2003 (also Windows XP), axis 2.1.3, Websphere 6.1
>            Reporter: LEE
>            Assignee: Nandana Mihindukulasooriya
>            Priority: Blocker
>             Fix For: 1.5
>
>         Attachments: TempFileManager.java
>
>
> We have been regularly experiencing the following problem when trying to call an axis 2 webservice:
> Stack Dump = java.util.zip.ZipException: Too many open files D:\ibm\profiles\AppSrv02\....\xercesImpl-2.8.1.jar
> 	at java.util.zip.ZipFile.open(Native Method)
> 	at java.util.zip.ZipFile.<init>(ZipFile.java:238)
> 	at java.util.zip.ZipFile.<init>(ZipFile.java:268)
> 	at com.ibm.ws.classloader.SinglePathClassProvider$3.run(SinglePathClassProvider.java:405)
> 	at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63)
> 	at com.ibm.ws.classloader.SinglePathClassProvider.getResource(SinglePathClassProvider.java:379)
> 	at com.ibm.ws.classloader.SinglePathClassProvider.getResourceAsStream(SinglePathClassProvider.java:474)
> 	at com.ibm.ws.classloader.CompoundClassLoader.localGetResourceAsStream(CompoundClassLoader.java:955)
> 	at com.ibm.ws.classloader.CompoundClassLoader.getResourceAsStream(CompoundClassLoader.java:916)
> 	at com.ibm.ws.classloader.CompoundClassLoader.getResourceAsStream(CompoundClassLoader.java:913)
> 	at javax.xml.parsers.SecuritySupport12$4.run(Unknown Source)
> 	at java.security.AccessController.doPrivileged(AccessController.java:192)
> 	at javax.xml.parsers.SecuritySupport12.getResourceAsStream(Unknown Source)
> 	at javax.xml.parsers.FactoryFinder.findJarServiceProvider(Unknown Source)
> 	at javax.xml.parsers.FactoryFinder.find(Unknown Source)
> 	at javax.xml.parsers.DocumentBuilderFactory.newInstance(Unknown Source)
> 	at org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Util.java:151)
> 	at org.apache.rampart.handler.WSDoAllSender.processBasic(WSDoAllSender.java:194)
> 	at org.apache.rampart.handler.WSDoAllSender.processMessage(WSDoAllSender.java:64)
> 	at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:72)
> 	at org.apache.axis2.engine.Phase.invoke(Phase.java:292)
> 	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:212)
> 	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:377)
> 	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
> 	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
> 	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
> 	
> On closer inspection of the server we noticed that there are a great number of files in the Windows/Temp directory with names such as C:\WINDOWS\Temp\_axis2\axis21568addressing-1.3.mar,
> C:\WINDOWS\Temp\_axis2\axis21574soapmonitor-1.3.mar,
> C:\WINDOWS\Temp\_axis2\axis21579rampart-1.3.mar,
> C:\WINDOWS\Temp\_axis2\axis21577ping-1.3.mar etc.
> The main concern (other than disk space is gradually being taken up) is that all these files still have open file handles. This is a major problem for us as each time a call is made to a webservice more of these files eventually resulting in the application failing due to "too many open files" error.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.