You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Steffen Göde (Jira)" <ji...@apache.org> on 2019/11/01 20:56:00 UTC
[jira] [Created] (CAMEL-14126) stax component can cause infinite
loop of file component
Steffen Göde created CAMEL-14126:
------------------------------------
Summary: stax component can cause infinite loop of file component
Key: CAMEL-14126
URL: https://issues.apache.org/jira/browse/CAMEL-14126
Project: Camel
Issue Type: Bug
Components: camel-stax
Affects Versions: 2.24.2
Reporter: Steffen Göde
Attachments: staxSample.zip
I discovered a situation where the stax component causes an infinite loop of the file component in case of invalid UTF-8 characters in the file. I attached a sample project with the most simplistic route that shows the behaviour: [^staxSample.zip]
The input file containes invalid UTF-8 characters. The route definition is as following:
{code:java}
from("file://inbound?moveFailed=.failed")
.split(stax(Product.class))
.log("${body.name}");
{code}
I get the exceptions
{quote}
Error renaming file from C:\Users\...\inbound\products.xml to inbound\.failed\products.xml
{quote}
and
{quote}
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[4,29]
Message: Ungültiges Byte 2 von 3-Byte-UTF-8-Sequenz.]
{quote}
When I marshal the whole document at once I don't get the first exception. When I use the splitter with tokenizeXML I won't get any of the exceptions.
----
The sample contains another example where a combination of Splitter with aggregation + seda route called by inOut and an exception in the seda route causes the infinite loop too (Message is "error renaming file" as above).
I could figure out that the issue doesn't occur if at least one of the following changes:
- the Exception is thrown in the "file"-route instead of in the seda route
- the aggregation returns the newExchange if the oldExchange is null instead of creating a new DefaultExchange
- "to" instead of "inOut" is used to call the seda endpoint
--
This message was sent by Atlassian Jira
(v8.3.4#803005)