[ https://issues.apache.org/jira/browse/TUSCANY-1677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ant elder updated TUSCANY-1677: ------------------------------- Fix Version/s: Java-SCA-1.0 > XML Parser not being closed with void return types causing memory leaks > ------------------------------------------------------------------------- > > Key: TUSCANY-1677 > URL: https://issues.apache.org/jira/browse/TUSCANY-1677 > Project: Tuscany > Issue Type: Bug > Reporter: Lou Amodeo > Assignee: Raymond Feng > Fix For: Java-SCA-1.0 > > Attachments: Output2OutputTransformer.java > > > I am seeing a memory leak due to the XML Stream reader not being closed when > void return types are used. I modified the Output2OutputTransformer > to close() the stream when a void return is encountered. Here is snippit. > I attached the source code.. > if ((!sourceWrapped) && targetWrapped) { > // Unwrapped --> Wrapped > WrapperInfo wrapper = targetOp.getWrapper(); > Object targetWrapper = > targetWrapperHandler.create(wrapper.getOutputWrapperElement(), context); > List<ElementInfo> childElements = > wrapper.getOutputChildElements(); > if (childElements.isEmpty()) { > // void output > if (targetWrapper instanceof OMElement) > > ((OMElement)targetWrapper).getXMLStreamReader().close(); > return targetWrapper; > } > ElementInfo argElement = childElements.get(0); > DataType<XMLType> argType = wrapper.getUnwrappedOutputType(); > Object child = response; > child = mediator.mediate(response, sourceType.getLogical(), > argType, context.getMetadata()); > targetWrapperHandler.setChild(targetWrapper, 0, argElement, > child); > return targetWrapper; > } else if (sourceWrapped && (!targetWrapped)) { > // Wrapped to Unwrapped > Object sourceWrapper = response; > List<ElementInfo> childElements = > sourceOp.getWrapper().getOutputChildElements(); > if (childElements.isEmpty()) { > // The void output > if (sourceWrapper instanceof OMElement) > > ((OMElement)sourceWrapper).getXMLStreamReader().close(); > return null; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]