Alexandru created CAMEL-13373:
---------------------------------
Summary: FileInputStream not closed
Key: CAMEL-13373
URL: https://issues.apache.org/jira/browse/CAMEL-13373
Project: Camel
Issue Type: Bug
Components: camel-stax
Affects Versions: 2.23.1
Reporter: Alexandru
The StAXProcessor.java class does not close the stream it opens.
I had to modify it like this:
public void process(Exchange exchange) throws Exception {
InputSource is = exchange.getIn().getMandatoryBody(InputSource.class);
XMLStreamReader stream =
exchange.getIn().getMandatoryBody(XMLStreamReader.class);
// Fermeture de la inputstream ici, car dans la version originale de la classe
la stream reste ouverte.
*try(InputStream inputStreamToClose = is.getByteStream()) {*
XMLReader reader = new StaxStreamXMLReader(stream);
ContentHandler handler;
if (this.contentHandlerClass != null)
{ handler = (ContentHandler) this.contentHandlerClass.newInstance(); }
else
{ handler = this.contentHandler; }
reader.setContentHandler(handler);
reader.parse(is);
if (ExchangeHelper.isOutCapable(exchange))
{ exchange.getOut().setHeaders(exchange.getIn().getHeaders());
exchange.getOut().setBody(handler); }
else
{ exchange.getIn().setBody(handler); }
} *finally*
*{ // Fermeture de la strem ValidatingStreamReader validatingStreamReader =
(ValidatingStreamReader)stream; validatingStreamReader.closeCompletely(); }*
*}*
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)