Hmmm…  interesting.

Most likely what will need to be done is to have a StaxInEndingInterceptor that 
would do:

reader = msg.getContent(XMLStreamReader.class)
if (reader != null) {
    reader.close();
    msg.setContent(null, XMLStreamReader.class);
}

The StaxInInterceptor would register that if it ends up creating a 
XMLStreamReader.   I have a feeling a couple other interceptors may need work 
as well.  The FIStaxInInterceptor likely needs to register the same interceptor.

Hmm…


Dan


On Sep 26, 2012, at 11:36 AM, Ivan <[email protected]> wrote:

> I created some wrapper classes for those XMLStreamReader created in
> StaxUtils, and found that the one created with the stack below will not
> invoke the close() method, which will cause some leaking
> 
> ava.lang.Throwable
> at
> org.apache.cxf.staxutils.XXMLStreamReader.<init>(XXMLStreamReader.java:29)
> at
> org.apache.cxf.staxutils.XXMLInputFactory.createXMLStreamReader(XXMLInputFactory.java:136)
> at
> org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1280)
> at
> org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:111)
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> ......
> 
> 
> java.lang.Throwable
> at
> org.apache.cxf.staxutils.XXMLStreamReader.<init>(XXMLStreamReader.java:29)
> at
> org.apache.cxf.staxutils.XXMLInputFactory.createXMLStreamReader(XXMLInputFactory.java:169)
> at
> org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1363)
> at
> org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1247)
> at
> org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:231)
> at
> org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:191)
> ......
> 
> Any idea for this, thanks !
> 
> -- 
> Ivan

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to