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:45:00 UTC
[3/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/9264594e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9264594e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9264594e
Branch: refs/heads/camel-2.15.x
Commit: 9264594eb6d7fd98f477c8559f60f4b483a1c6e7
Parents: 6b62806
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:50 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/9264594e/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 6b4679c..b34f63e 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;
}
}