Repository: camel Updated Branches: refs/heads/master d90a3f9d8 -> 41805bb84
CAMEL-9816: StreamCache - The cache method should support OUT as well Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/41805bb8 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/41805bb8 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/41805bb8 Branch: refs/heads/master Commit: 41805bb8493cbff1d208d6eaed92676d1ade86b9 Parents: 6c81334 Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Apr 5 12:01:07 2016 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Apr 5 13:20:49 2016 +0200 ---------------------------------------------------------------------- .../org/apache/camel/converter/stream/StreamCacheConverter.java | 5 +++++ .../org/apache/camel/impl/DefaultStreamCachingStrategy.java | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/41805bb8/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java b/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java index 19fa2af..0695cde 100644 --- a/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java +++ b/camel-core/src/main/java/org/apache/camel/converter/stream/StreamCacheConverter.java @@ -84,6 +84,11 @@ public final class StreamCacheConverter { } @Converter + public static StreamCache convertToStreamCache(CachedOutputStream cos, Exchange exchange) throws IOException { + return cos.newStreamCache(); + } + + @Converter public static StreamCache convertToStreamCache(Reader reader, Exchange exchange) throws IOException { String data = exchange.getContext().getTypeConverter().convertTo(String.class, exchange, reader); return new ReaderCache(data); http://git-wip-us.apache.org/repos/asf/camel/blob/41805bb8/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java index 8d407fe..245765d 100644 --- a/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java +++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultStreamCachingStrategy.java @@ -26,6 +26,7 @@ import java.util.UUID; import org.apache.camel.CamelContext; import org.apache.camel.CamelContextAware; import org.apache.camel.Exchange; +import org.apache.camel.Message; import org.apache.camel.StreamCache; import org.apache.camel.spi.StreamCachingStrategy; import org.apache.camel.util.FilePathResolver; @@ -186,7 +187,8 @@ public class DefaultStreamCachingStrategy extends org.apache.camel.support.Servi } public StreamCache cache(Exchange exchange) { - StreamCache cache = exchange.getIn().getBody(StreamCache.class); + Message message = exchange.hasOut() ? exchange.getOut() : exchange.getIn(); + StreamCache cache = message.getBody(StreamCache.class); if (cache != null) { if (LOG.isTraceEnabled()) { LOG.trace("Cached stream to {} -> {}", cache.inMemory() ? "memory" : "spool", cache);