You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2015/11/22 14:44:59 UTC
[2/3] camel git commit: CAMEL-9202: camel-flatpack. Close reader if
error creating. Thanks to MykhailoVlakh for partial patch.
CAMEL-9202: camel-flatpack. Close reader if error creating. Thanks to MykhailoVlakh for partial patch.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/92a6514f
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/92a6514f
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/92a6514f
Branch: refs/heads/camel-2.16.x
Commit: 92a6514ffdecb352e4771c7e181db1373cfeed40
Parents: 8e261f7
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Nov 22 14:41:43 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Nov 22 14:44:31 2015 +0100
----------------------------------------------------------------------
.../camel/component/flatpack/FlatpackEndpoint.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/92a6514f/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
index cb7b3af..58c3604 100644
--- a/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
+++ b/components/camel-flatpack/src/main/java/org/apache/camel/component/flatpack/FlatpackEndpoint.java
@@ -102,12 +102,18 @@ public class FlatpackEndpoint extends DefaultPollingEndpoint {
loadBalancer.process(exchange);
}
- public Parser createParser(Exchange exchange) throws InvalidPayloadException, IOException {
+ public Parser createParser(Exchange exchange) throws Exception {
Reader bodyReader = exchange.getIn().getMandatoryBody(Reader.class);
- if (FlatpackType.fixed == type) {
- return createFixedParser(resourceUri, bodyReader);
- } else {
- return createDelimitedParser(exchange);
+ try {
+ if (FlatpackType.fixed == type) {
+ return createFixedParser(resourceUri, bodyReader);
+ } else {
+ return createDelimitedParser(exchange);
+ }
+ } catch (Exception e) {
+ // must close reader in case of some exception
+ IOHelper.close(bodyReader);
+ throw e;
}
}