[
https://issues.apache.org/jira/browse/AXIS2-5874?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16152519#comment-16152519
]
Nidhin Lazar commented on AXIS2-5874:
-------------------------------------
Below is the outof memory error stack trace.
java.lang.OutOfMemoryError: Java heap space
at
org.apache.axiom.attachments.utils.BAAOutputStream.addBuffer(BAAOutputStream.java:49)
at
org.apache.axiom.attachments.utils.BAAOutputStream.readFrom(BAAOutputStream.java:120)
at
org.apache.axiom.attachments.impl.BufferUtils.inputStream2OutputStream(BufferUtils.java:76)
at
org.apache.axiom.attachments.PartContentFactory.createPartContent(PartContentFactory.java:119)
at org.apache.axiom.attachments.PartImpl.fetch(PartImpl.java:176)
at
org.apache.axiom.attachments.MIMEMessage.getNextPartDataHandler(MIMEMessage.java:299)
at
org.apache.axiom.attachments.MIMEMessage.fetchAllParts(MIMEMessage.java:264)
at
org.apache.axiom.attachments.MIMEMessage.getContentIDs(MIMEMessage.java:271)
at
org.apache.axiom.attachments.Attachments.getAllContentIDs(Attachments.java:298)
at
org.apache.axis2.jaxws.message.impl.MessageImpl.setMessageContext(MessageImpl.java:708)
at
org.apache.axis2.jaxws.core.MessageContext.<init>(MessageContext.java:122)
at
org.apache.axis2.jaxws.core.controller.impl.AxisInvocationController.doInvoke(AxisInvocationController.java:144)
at
org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.invoke(InvocationControllerImpl.java:93)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:373)
at
org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:171)
at com.sun.proxy.$Proxy40.downloadContent(Unknown Source)
at
com.emc.kazeon.connector.opentext.Connector.DownloadDH(Connector.java:288)
at
com.emc.kazeon.connector.opentext.Connector.getObjectContent(Connector.java:760)
at
com.emc.kazeon.connector.websvc.Webservice.readObject(Webservice.java:842)
at
com.emc.kazeon.csvc.stubs.KazConnectorSvcMessageReceiverInOut.invokeBusinessLogic(Unknown
Source)
at
org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:114)
at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:181)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
at
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
> 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
> Fix For: 1.6.2
>
>
> 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: [email protected]
For additional commands, e-mail: [email protected]