This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 415c2d5acf9 CAMEL-18098: camel-core - Stream caching should not spool to disk by default 415c2d5acf9 is described below commit 415c2d5acf9f4b3ffae5b69beba020a23dff4efe Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Thu May 12 07:06:19 2022 +0200 CAMEL-18098: camel-core - Stream caching should not spool to disk by default --- .../camel/component/jetty/HttpStreamCacheFileIssueTest.java | 1 + .../component/jetty/HttpStreamCacheFileResponseTest.java | 1 + .../component/jetty/HttpStreamCacheFileStopIssueTest.java | 1 + .../apache/camel/component/jetty/HttpStreamCacheFileTest.java | 1 + .../camel/component/jetty/JettyStreamCacheIssueTest.java | 1 + .../management/mbean/ManagedStreamCachingStrategyMBean.java | 3 +++ .../camel/management/mbean/ManagedStreamCachingStrategy.java | 11 ++++++++++- .../camel/management/ManagedStreamCachingStrategyTest.java | 4 ++++ 8 files changed, 22 insertions(+), 1 deletion(-) diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileIssueTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileIssueTest.java index 8f82836c160..9aec0bd70d2 100644 --- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileIssueTest.java +++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileIssueTest.java @@ -49,6 +49,7 @@ public class HttpStreamCacheFileIssueTest extends BaseJettyTest { public void configure() { // enable stream caching and use a low threshold so its forced // to write to file + context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolThreshold(16); context.getStreamCachingStrategy().setSpoolDirectory(testDirectory().toFile()); context.setStreamCaching(true); diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileResponseTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileResponseTest.java index ebfb9d498c3..192438abb59 100644 --- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileResponseTest.java +++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileResponseTest.java @@ -50,6 +50,7 @@ public class HttpStreamCacheFileResponseTest extends BaseJettyTest { public void configure() { // enable stream caching and use a low threshold so its forced // to write to file + context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolDirectory(testDirectory().toFile()); context.getStreamCachingStrategy().setSpoolThreshold(16); context.setStreamCaching(true); diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileStopIssueTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileStopIssueTest.java index 8e021086498..4719d2f22ba 100644 --- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileStopIssueTest.java +++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileStopIssueTest.java @@ -63,6 +63,7 @@ public class HttpStreamCacheFileStopIssueTest extends BaseJettyTest { public void configure() { // enable stream caching and use a low threshold so its forced // to write to file + context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolThreshold(16); context.getStreamCachingStrategy().setSpoolDirectory("target/cachedir"); context.setStreamCaching(true); diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileTest.java index 7080fb6adfc..9f28fe8c32d 100644 --- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileTest.java +++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpStreamCacheFileTest.java @@ -65,6 +65,7 @@ public class HttpStreamCacheFileTest extends BaseJettyTest { public void configure() { // enable stream caching and use a low threshold so its forced // to write to file + context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolThreshold(16); context.getStreamCachingStrategy().setSpoolDirectory(testDirectory().toFile()); context.setStreamCaching(true); diff --git a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyStreamCacheIssueTest.java b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyStreamCacheIssueTest.java index 68cb78c7eba..2a685e8db33 100644 --- a/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyStreamCacheIssueTest.java +++ b/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyStreamCacheIssueTest.java @@ -31,6 +31,7 @@ public class JettyStreamCacheIssueTest extends BaseJettyTest { protected CamelContext createCamelContext() throws Exception { CamelContext context = super.createCamelContext(); // ensure we overflow and spool to disk + context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolThreshold(5000); context.setStreamCaching(true); return context; diff --git a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedStreamCachingStrategyMBean.java b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedStreamCachingStrategyMBean.java index 9b1abafd012..c420d1eb357 100644 --- a/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedStreamCachingStrategyMBean.java +++ b/core/camel-management-api/src/main/java/org/apache/camel/api/management/mbean/ManagedStreamCachingStrategyMBean.java @@ -32,6 +32,9 @@ public interface ManagedStreamCachingStrategyMBean extends ManagedServiceMBean { @ManagedAttribute(description = "Whether stream caching is enabled") boolean isEnabled(); + @ManagedAttribute(description = "Whether spooling to disk enabled") + boolean isSpoolEnabled(); + @ManagedAttribute(description = "Directory used when overflow and spooling to disk") String getSpoolDirectory(); diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java index b46ca0246bc..7249fa4653e 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java @@ -46,9 +46,18 @@ public class ManagedStreamCachingStrategy extends ManagedService implements Mana return streamCachingStrategy.isEnabled(); } + @Override + public boolean isSpoolEnabled() { + return streamCachingStrategy.isSpoolEnabled(); + } + @Override public String getSpoolDirectory() { - return streamCachingStrategy.getSpoolDirectory().getPath(); + if (streamCachingStrategy.getSpoolDirectory() != null) { + return streamCachingStrategy.getSpoolDirectory().getPath(); + } else { + return null; + } } @Override diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java index d229ca99a66..ead80a6b9b6 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java @@ -59,6 +59,9 @@ public class ManagedStreamCachingStrategyTest extends ManagementTestSupport { Boolean enabled = (Boolean) mbeanServer.getAttribute(name, "Enabled"); assertEquals(Boolean.TRUE, enabled); + enabled = (Boolean) mbeanServer.getAttribute(name, "SpoolEnabled"); + assertEquals(Boolean.TRUE, enabled); + String dir = (String) mbeanServer.getAttribute(name, "SpoolDirectory"); assertEquals(normalizePath(testDirectory("myCamel").toString()), normalizePath(dir)); @@ -96,6 +99,7 @@ public class ManagedStreamCachingStrategyTest extends ManagementTestSupport { dcc.setName("myCamel"); context.setStreamCaching(true); + context.getStreamCachingStrategy().setSpoolEnabled(true); context.getStreamCachingStrategy().setSpoolDirectory(testDirectory("#name#").toString()); from("direct:start").routeId("foo")