Updated Branches: refs/heads/camel-2.11.x 4daaa2a7d -> 5a84bbf89 refs/heads/master e9b6cfbdb -> 8aed018da
CAMEL-6367: Polished Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8aed018d Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8aed018d Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8aed018d Branch: refs/heads/master Commit: 8aed018da5abc6293028a8c1582d4a4dc368cf91 Parents: e9b6cfb Author: Claus Ibsen <davscl...@apache.org> Authored: Sat May 25 10:07:09 2013 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sat May 25 10:07:09 2013 +0200 ---------------------------------------------------------------------- .../camel/component/stream/StreamProducer.java | 17 ++++++++------ 1 files changed, 10 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/8aed018d/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java index 801bd27..82b38eb 100644 --- a/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java +++ b/components/camel-stream/src/main/java/org/apache/camel/component/stream/StreamProducer.java @@ -74,9 +74,12 @@ public class StreamProducer extends DefaultProducer { delay(endpoint.getDelay()); synchronized (this) { - openStream(exchange); - writeToStream(outputStream, exchange); - closeStream(exchange, false); + try { + openStream(exchange); + writeToStream(outputStream, exchange); + } finally { + closeStream(exchange, false); + } } } @@ -112,7 +115,7 @@ public class StreamProducer extends DefaultProducer { Thread.sleep(ms); } - private synchronized void writeToStream(OutputStream outputStream, Exchange exchange) throws IOException, CamelExchangeException { + private void writeToStream(OutputStream outputStream, Exchange exchange) throws IOException, CamelExchangeException { Object body = exchange.getIn().getBody(); if (body == null) { @@ -143,7 +146,7 @@ public class StreamProducer extends DefaultProducer { bw.flush(); } - private synchronized void openStream() throws Exception { + private void openStream() throws Exception { if (outputStream != null) { return; } @@ -161,7 +164,7 @@ public class StreamProducer extends DefaultProducer { LOG.debug("Opened stream '{}'", endpoint.getEndpointKey()); } - private synchronized void openStream(final Exchange exchange) throws Exception { + private void openStream(final Exchange exchange) throws Exception { if (outputStream != null) { return; } @@ -177,7 +180,7 @@ public class StreamProducer extends DefaultProducer { return exchange != null && exchange.getProperty(Exchange.SPLIT_COMPLETE, Boolean.FALSE, Boolean.class); } - private synchronized void closeStream(Exchange exchange, boolean force) throws Exception { + private void closeStream(Exchange exchange, boolean force) throws Exception { if (outputStream == null) { return; }