[ https://issues.apache.org/jira/browse/AXIS2-5874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16160281#comment-16160281 ]
Andreas Veithen commented on AXIS2-5874: ---------------------------------------- * The contract of {{DataHandler}} allows multiple calls to {{getInputStream()}}. That means that requesting the stream and closing it will not free the memory held by the {{DataHandler}}. * The fact that you get an {{OutOfMemoryError}} in the code that reads the MIME part does not mean that the (presumed) leak occurs there. You will need to look at a heap dump to determine where references to the objects involved in the leak are held. There is no a priori reason to believe that it's Axis2's fault; it may be a problem in your code. * 1.6.2 is an old release that is no longer supported. You would need to provide steps to reproduce the problem on a more recent release. > Memory leak when trying to getInputStream() from an External Repository data > through AXIS > ----------------------------------------------------------------------------------------- > > Key: AXIS2-5874 > URL: https://issues.apache.org/jira/browse/AXIS2-5874 > Project: Axis2 > Issue Type: Bug > Components: jaxws, wsdl > Affects Versions: 1.6.2 > Environment: Windows 2008 > Reporter: Nidhin Lazar > Priority: Blocker > > We are using AXIS WS to connect and download files from an external > repository .We are using SOAP based webservice calls download an object. The > API returns a DataHandler object, from where we are getting the input stream. > We have tried closing the inputstream object but even after the close call we > can see that the memory is still holding the stream, and eventually the > client machine is running out of memory.Any help on this would be highly > appreciated. > Our client code is as shown below > URL url = new URL("http://"+host+"/ws/CntSrvc.svc?wsdl"); > CntSrvc_Svc cService = new CntSrvc_Svc(url); > CntSrvc cntSrvcClient = cService.getBasicHttpBindingCntSrvc(new > MTOMFeature()); > InputStream in = null ; > in = cntSrvcClient.download(contextIDString).getInputStream(); > // write in to a file. > //closing the input stream > if (in != null){ > in.close(); > } > [Note;] Our client code runs under tomcat container, and this acts as a > server to other services. > [Note:]We have created a sample client without using AXIS, where our client > connecting to external repository and download content.Here we donot see any > memory leak.Our investigation proves that its when we use AXIS and > getinputstream() the memory is leaking, input stream is not closing.Our > current framework demands AXIS hence we would like to get a solution or > workaround for this issue -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org