This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 940ad8bb22e0f36a59e678810eb9871f4410f991
Author: Anton Goncharov <goncharov.a...@gmail.com>
AuthorDate: Tue Nov 7 18:25:26 2023 +0100

    Making use of junit5 @TempDir in TestSupport to control lifecycle of a 
temporary directory needed for testing. Removed deleteDirectory methods and 
their usage. Adapted test classes where needed, to propagate temp directory 
path to a spring or camel context, so it can be used in a file endpoint.
---
 .../spring/SendMessageOnRouteStartAndStopTest.java |  15 ++-
 .../org/apache/camel/spring/SpringTestSupport.java |   2 -
 .../camel/spring/StartAndStopEventNotifier.java    |   4 +-
 .../file/SpringFileConsumerPreMoveIssueTest.java   |   6 +-
 .../spring/file/SpringFileLanguageCBRTest.java     |  13 +--
 .../camel/spring/file/SpringFileRouteTest.java     |  24 ++++-
 .../file/SpringSimpleFileNameWithQuoteTest.java    |  24 ++++-
 .../issues/FileWireTapWithXMLPayloadIssueTest.java |  12 +--
 ...ngPropertyPlaceholderFileEndpointIssueTest.java |  15 +--
 .../issues/SpringRenameFileOnCommitIssueTest.java  |  13 +--
 ...uageWithSpringPropertyPlaceholderRouteTest.java |  24 ++++-
 .../FileConsumerSpringSchedulerTest.java           |  13 +--
 .../camel/spring/processor/SpringTestHelper.java   |  10 +-
 .../FileConsumerIdempotentLoadStoreTest.java       |   1 -
 .../file/SpringFileConsumerPreMoveIssueTest.xml    |   2 +-
 .../spring/file/SpringFileConsumerPreMoveTest.xml  |   2 +-
 .../spring/file/SpringFileLanguageCBRTest.xml      |   2 +-
 .../spring/file/SpringFileRouteTest-context.xml    |   2 +-
 .../SpringSimpleFileNameWithQuoteTest-context.xml  |   2 +-
 .../issues/FileWireTapWithXMLPayloadIssueTest.xml  |   2 +-
 .../issues/SpringPropertyPlaceholderIssueTest.xml  |   2 +-
 .../issues/SpringRenameFileOnCommitIssueTest.xml   |   2 +-
 .../apache/camel/spring/issues/myprop.properties   |   2 +-
 .../spring/placeholder/bundle-context.properties   |   4 +-
 .../FileConsumerSpringSchedulerTest.xml            |   2 +-
 .../processor/ShutdownCompleteAllTasksTest.xml     |   2 +-
 .../ShutdownCompleteCurrentTaskOnlyTest.xml        |   2 +-
 ...etterChannelUseOriginalExchangeWithFileTest.xml |   2 +-
 .../FileConsumerIdempotentLoadStoreTest.xml        |   4 +-
 .../idempotent/fileConsumerIdempotentTest.xml      |   4 +-
 .../test/java/org/apache/camel/TestSupport.java    | 102 +++++----------------
 .../file/FileConsumeMaxMessagesPerPollTest.java    |  12 +--
 .../file/FileConsumeMoveRelativeNameTest.java      |   6 +-
 .../file/FileConsumeMultipleDirectoriesTest.java   |  12 +--
 .../FileConsumeNotEagerMaxMessagesPerPollTest.java |  14 ++-
 ...ileConsumeSimpleAbsoluteMoveToAbsoluteTest.java |  10 +-
 ...ileConsumeSimpleAbsoluteMoveToRelativeTest.java |  17 ++--
 ...ileConsumeSimpleRelativeMoveToRelativeTest.java |   4 +-
 ...erDirectoryMustExistBridgeErrorHandlerTest.java |   4 +-
 .../file/FileConsumerExtendedAttributesTest.java   |  22 ++---
 .../component/file/FileConsumerFileFilterTest.java |   5 +-
 .../file/FileConsumerFileNameFilterTest.java       |   4 +-
 .../component/file/FileConsumerFilterFileTest.java |  10 +-
 ...rPreMoveCopyAndDeleteOnRenameFailFalseTest.java |   1 +
 .../file/FileConsumerPreMoveIssueTest.java         |  13 ++-
 .../file/FileConsumerPreMoveNoopTest.java          |   8 +-
 .../component/file/FileConsumerPreMoveTest.java    |  10 +-
 .../file/FileConsumerRelativeFileNameTest.java     |   8 +-
 .../file/FileConsumerSkipDotFilesTest.java         |   9 +-
 .../file/FileExclusiveReadLockCopyTest.java        |   6 +-
 ...lTest.java => FileExclusiveReadManualTest.java} |   7 +-
 .../file/FileExclusiveReadNoneStrategyTest.java    |   2 +-
 .../file/FileHeaderFileNameProducedTest.java       |   4 +-
 .../file/FileIdempotentReadSameFileAgainTest.java  |   6 +-
 .../file/FileProduceTempFileNameTest.java          |  18 ++--
 .../component/file/FileProduceTempPrefixTest.java  |  10 +-
 .../file/FileProducerCharsetUTFOptimizedTest.java  |   6 --
 .../file/FileProducerDirectoryChmodOptionTest.java |  13 ++-
 .../component/file/FileRecursiveNoopTest.java      |   2 -
 .../component/file/FileSplitXPathCharsetTest.java  |  11 ++-
 .../component/file/FilerProducerAbsoluteTest.java  |   3 +-
 .../FileLockClusteredRoutePolicyFactoryTest.java   |   8 +-
 .../cluster/FileLockClusteredRoutePolicyTest.java  |   8 +-
 ...ponentLoadPropertiesFromFileTrimValuesTest.java |   1 -
 .../seda/FileSedaShutdownCompleteAllTasksTest.java |   4 +-
 .../XsltIncludeClasspathDotInDirectoryTest.java    |   3 +-
 .../component/xslt/XsltOutputFileDeleteTest.java   |   2 -
 .../camel/component/xslt/XsltOutputFileTest.java   |   2 -
 .../converter/stream/CachedOutputStreamTest.java   |   2 +-
 .../apache/camel/impl/FileStateRepositoryTest.java |   8 +-
 .../camel/processor/FileIdempotentClearTest.java   |   2 +-
 .../FileIdempotentConsumerLoadStoreTest.java       |   3 +-
 .../processor/FileIdempotentConsumerTest.java      |   2 +-
 .../camel/processor/FileIdempotentRemoveTest.java  |   3 +-
 .../processor/FileIdempotentTrunkStoreTest.java    |   3 +-
 .../camel/processor/RouteFormattedUriTest.java     |   2 +-
 .../processor/ShutdownCompleteAllTasksTest.java    |   7 +-
 .../ShutdownCompleteCurrentTaskOnlyTest.java       |   5 +-
 .../FileIdempotentStoreOrderingTest.java           |   6 +-
 .../org/apache/camel/util/ResourceLoaderTest.java  |   2 +-
 .../management/ManagedFileIdempotentClearTest.java |   2 +-
 .../ManagedFileIdempotentConsumerTest.java         |   2 +-
 .../management/ManagedRouteDumpStrategyTest.java   |   1 -
 83 files changed, 339 insertions(+), 312 deletions(-)

diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java
index 82066637f2f..c47a0df98ed 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.java
@@ -16,10 +16,13 @@
  */
 package org.apache.camel.spring;
 
+import java.nio.file.Path;
+
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
@@ -28,6 +31,9 @@ import 
org.springframework.context.support.ClassPathXmlApplicationContext;
  */
 public class SendMessageOnRouteStartAndStopTest extends SpringTestSupport {
 
+    @TempDir
+    private static Path testDirectory;
+
     @Override
     protected AbstractXmlApplicationContext createApplicationContext() {
         return new 
ClassPathXmlApplicationContext("org/apache/camel/spring/SendMessageOnRouteStartAndStopTest.xml");
@@ -37,10 +43,9 @@ public class SendMessageOnRouteStartAndStopTest extends 
SpringTestSupport {
     @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
-
         // the event notifier should have send a message to the file endpoint
         // so the start file is created on startup
-        assertFileExists(testFile("start.txt"));
+        assertFileExists(testDirectory.resolve("start.txt"));
     }
 
     @Override
@@ -50,7 +55,7 @@ public class SendMessageOnRouteStartAndStopTest extends 
SpringTestSupport {
 
         // the event notifier should have send a message to the file endpoint
         // so the stop file is created on shutdown
-        assertFileExists(testFile("stop.txt"));
+        assertFileExists(testDirectory.resolve("stop.txt"));
     }
 
     @Test
@@ -64,4 +69,8 @@ public class SendMessageOnRouteStartAndStopTest extends 
SpringTestSupport {
         assertMockEndpointsSatisfied();
     }
 
+    public static Path getTestDirectory() {
+        return testDirectory;
+    }
+
 }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java
index b6a55c3e675..0f1617d2dc9 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/SpringTestSupport.java
@@ -62,8 +62,6 @@ public abstract class SpringTestSupport extends 
ContextTestSupport {
     @BeforeEach
     @Override
     public void setUp() throws Exception {
-        deleteTestDirectory();
-
         DefaultCamelContext.setDisableJmx(!useJmx());
         Class<?>[] excluded = excludeRoutes();
         if (excluded != null && excluded.length > 0) {
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java
index 172d871cc7c..590b7523a0e 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/StartAndStopEventNotifier.java
@@ -21,7 +21,6 @@ import java.nio.file.Path;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.ProducerTemplate;
-import org.apache.camel.TestSupport;
 import org.apache.camel.spi.CamelEvent;
 import org.apache.camel.spi.CamelEvent.Type;
 import org.apache.camel.support.EventNotifierSupport;
@@ -53,7 +52,8 @@ public class StartAndStopEventNotifier extends 
EventNotifierSupport implements C
         // Note: there is also a CamelContextStartingEvent which is send first
         // and then Camel is starting. And when all that is done this event
         // (CamelContextStartedEvent) is send
-        Path directory = 
TestSupport.testDirectory(SendMessageOnRouteStartAndStopTest.class, false);
+        Path directory = SendMessageOnRouteStartAndStopTest.getTestDirectory();
+        //        Path directory = 
SpringTestSupport.testDirectory(SendMessageOnRouteStartAndStopTest.class, 
false);
         if (event.getType() == Type.CamelContextStarted) {
             LOG.info("Sending a message on startup...");
             template.sendBody("file:" + directory + "?fileName=start.txt", 
"Starting");
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java
index 6d4c6607d47..3a567170e23 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.spring.file;
 
+import java.util.Map;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.component.file.FileConsumerPreMoveIssueTest;
 
@@ -25,7 +27,9 @@ public class SpringFileConsumerPreMoveIssueTest extends 
FileConsumerPreMoveIssue
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
-        return createSpringCamelContext(this, 
"org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml");
+
+        return createSpringCamelContext(this, 
"org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml",
+                Map.of("testDirectory", testDirectory()));
     }
 
     static class MyPreMoveCheckerProcessor extends 
FileConsumerPreMoveIssueTest.MyPreMoveCheckerProcessor {
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java
index 31f12779df1..ccb1042aa90 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileLanguageCBRTest.java
@@ -16,17 +16,18 @@
  */
 package org.apache.camel.spring.file;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
-import org.apache.camel.spring.SpringTestSupport;
 import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 
-public class SpringFileLanguageCBRTest extends SpringTestSupport {
+import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
+
+public class SpringFileLanguageCBRTest extends ContextTestSupport {
 
     @Override
-    protected AbstractXmlApplicationContext createApplicationContext() {
-        return new 
ClassPathXmlApplicationContext("org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml");
+    protected CamelContext createCamelContext() throws Exception {
+        return createSpringCamelContext(this, 
"org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml");
     }
 
     @Test
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java
index bed77dda3e8..003c17d26b9 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringFileRouteTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.spring.file;
 
+import java.nio.file.Path;
+
 import org.apache.camel.Endpoint;
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
@@ -23,13 +25,17 @@ import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.file.FileEndpoint;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.SpringRunWithTestSupport;
+import 
org.apache.camel.spring.file.SpringFileRouteTest.TestDirectoryContextInitializer;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContextInitializer;
+import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.test.context.ContextConfiguration;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-@ContextConfiguration
+@ContextConfiguration(initializers = TestDirectoryContextInitializer.class)
 public class SpringFileRouteTest extends SpringRunWithTestSupport {
     protected String expectedBody = "Hello World!";
     @Autowired
@@ -38,6 +44,8 @@ public class SpringFileRouteTest extends 
SpringRunWithTestSupport {
     protected Endpoint inputFile;
     @EndpointInject("mock:result")
     protected MockEndpoint result;
+    @TempDir
+    private static Path tempDir;
 
     @Test
     public void testMocksAreValid() throws Exception {
@@ -53,4 +61,18 @@ public class SpringFileRouteTest extends 
SpringRunWithTestSupport {
         result.assertIsSatisfied();
     }
 
+    @Override
+    public Path testDirectory() {
+        return tempDir;
+    }
+
+    static class TestDirectoryContextInitializer
+            implements
+            ApplicationContextInitializer<ConfigurableApplicationContext> {
+        @Override
+        public void initialize(ConfigurableApplicationContext context) {
+            
context.getEnvironment().getSystemProperties().put("testDirectory", 
tempDir.toString());
+        }
+    }
+
 }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java
index e7670f80483..9d7491ee4a1 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest.java
@@ -16,22 +16,30 @@
  */
 package org.apache.camel.spring.file;
 
+import java.nio.file.Path;
+
 import org.apache.camel.EndpointInject;
 import org.apache.camel.Exchange;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.spring.SpringRunWithTestSupport;
+import 
org.apache.camel.spring.file.SpringSimpleFileNameWithQuoteTest.TestDirectoryContextInitializer;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContextInitializer;
+import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.test.context.ContextConfiguration;
 
-@ContextConfiguration
+@ContextConfiguration(initializers = TestDirectoryContextInitializer.class)
 public class SpringSimpleFileNameWithQuoteTest extends 
SpringRunWithTestSupport {
     protected String expectedBody = "Hello World!";
     @Autowired
     protected ProducerTemplate template;
     @EndpointInject("mock:result")
     protected MockEndpoint result;
+    @TempDir
+    private static Path tempDir;
 
     @Test
     public void testMocksAreValid() throws Exception {
@@ -43,4 +51,18 @@ public class SpringSimpleFileNameWithQuoteTest extends 
SpringRunWithTestSupport
         result.assertIsSatisfied();
     }
 
+    @Override
+    public Path testDirectory() {
+        return tempDir;
+    }
+
+    static class TestDirectoryContextInitializer
+            implements
+            ApplicationContextInitializer<ConfigurableApplicationContext> {
+        @Override
+        public void initialize(ConfigurableApplicationContext context) {
+            
context.getEnvironment().getSystemProperties().put("testDirectory", 
tempDir.toString());
+        }
+    }
+
 }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java
index ff5cd78a687..0e69f585fa6 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.java
@@ -16,17 +16,17 @@
  */
 package org.apache.camel.spring.issues;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spring.SpringTestSupport;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 
+import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
-public class FileWireTapWithXMLPayloadIssueTest extends SpringTestSupport {
+public class FileWireTapWithXMLPayloadIssueTest extends ContextTestSupport {
 
     @Override
     @BeforeEach
@@ -55,7 +55,7 @@ public class FileWireTapWithXMLPayloadIssueTest extends 
SpringTestSupport {
     }
 
     @Override
-    protected AbstractXmlApplicationContext createApplicationContext() {
-        return new 
ClassPathXmlApplicationContext("org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml");
+    protected CamelContext createCamelContext() throws Exception {
+        return createSpringCamelContext(this, 
"org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml");
     }
 }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java
index 5c1d5b332f3..fe0a6e1cafb 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringPropertyPlaceholderFileEndpointIssueTest.java
@@ -16,24 +16,25 @@
  */
 package org.apache.camel.spring.issues;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spring.SpringTestSupport;
 import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 
-public class SpringPropertyPlaceholderFileEndpointIssueTest extends 
SpringTestSupport {
+import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
+
+public class SpringPropertyPlaceholderFileEndpointIssueTest extends 
ContextTestSupport {
 
     @Override
-    protected AbstractXmlApplicationContext createApplicationContext() {
-        return new 
ClassPathXmlApplicationContext("org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml");
+    protected CamelContext createCamelContext() throws Exception {
+        return createSpringCamelContext(this, 
"org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml");
     }
 
     @Test
     public void testSpring() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
-        mock.expectedFileExists(testFile("foo.txt"));
+        mock.expectedFileExists(testFile("target/foo.txt"));
 
         template.sendBodyAndHeader("direct:start", "Hello World", "foo", 
"foo.txt");
 
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java
index 18d48ad4608..83618bede27 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.java
@@ -16,14 +16,15 @@
  */
 package org.apache.camel.spring.issues;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spring.SpringTestSupport;
 import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 
-public class SpringRenameFileOnCommitIssueTest extends SpringTestSupport {
+import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
+
+public class SpringRenameFileOnCommitIssueTest extends ContextTestSupport {
 
     @Test
     public void testFileRenameFileOnCommitIssue() throws Exception {
@@ -40,8 +41,8 @@ public class SpringRenameFileOnCommitIssueTest extends 
SpringTestSupport {
     }
 
     @Override
-    protected AbstractXmlApplicationContext createApplicationContext() {
-        return new 
ClassPathXmlApplicationContext("org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml");
+    protected CamelContext createCamelContext() throws Exception {
+        return createSpringCamelContext(this, 
"org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml");
     }
 
 }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java
index acb5fd8078d..62b814e2160 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/placeholder/SimpleLanguageWithSpringPropertyPlaceholderRouteTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.spring.placeholder;
 
+import java.nio.file.Path;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.concurrent.TimeUnit;
@@ -23,19 +24,26 @@ import java.util.concurrent.TimeUnit;
 import org.apache.camel.Produce;
 import org.apache.camel.ProducerTemplate;
 import org.apache.camel.spring.SpringRunWithTestSupport;
+import 
org.apache.camel.spring.placeholder.SimpleLanguageWithSpringPropertyPlaceholderRouteTest.TestDirectoryContextInitializer;
 import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
+import org.springframework.context.ApplicationContextInitializer;
+import org.springframework.context.ConfigurableApplicationContext;
 import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.ContextConfiguration;
 
 import static org.awaitility.Awaitility.await;
 
-@ContextConfiguration
+@ContextConfiguration(initializers = TestDirectoryContextInitializer.class)
 public class SimpleLanguageWithSpringPropertyPlaceholderRouteTest extends 
SpringRunWithTestSupport {
 
     @Produce("direct:startSimple")
     protected ProducerTemplate template;
 
+    @TempDir
+    private static Path tempDir;
+
     @Test
     @DirtiesContext
     public void replaceSimpleExpression() throws Exception {
@@ -60,4 +68,18 @@ public class 
SimpleLanguageWithSpringPropertyPlaceholderRouteTest extends Spring
         return "test-" + s + ".txt";
     }
 
+    @Override
+    public Path testDirectory() {
+        return tempDir;
+    }
+
+    static class TestDirectoryContextInitializer
+            implements
+            ApplicationContextInitializer<ConfigurableApplicationContext> {
+        @Override
+        public void initialize(ConfigurableApplicationContext context) {
+            
context.getEnvironment().getSystemProperties().put("testDirectory", 
tempDir.toString());
+        }
+    }
+
 }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java
index def3d4218c2..1e69d70d9e8 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.java
@@ -16,17 +16,18 @@
  */
 package org.apache.camel.spring.pollingconsumer;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
-import org.apache.camel.spring.SpringTestSupport;
 import org.junit.jupiter.api.Test;
-import org.springframework.context.support.AbstractXmlApplicationContext;
-import org.springframework.context.support.ClassPathXmlApplicationContext;
 
-public class FileConsumerSpringSchedulerTest extends SpringTestSupport {
+import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
+
+public class FileConsumerSpringSchedulerTest extends ContextTestSupport {
 
     @Override
-    protected AbstractXmlApplicationContext createApplicationContext() {
-        return new ClassPathXmlApplicationContext(
+    protected CamelContext createCamelContext() throws Exception {
+        return createSpringCamelContext(this,
                 
"org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml");
     }
 
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
index 5c2615c75b0..a57b10e124a 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/SpringTestHelper.java
@@ -29,6 +29,8 @@ import 
org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public final class SpringTestHelper {
 
+    public static final String PROPERTY_TEST_DIR = "testDirectory";
+
     private SpringTestHelper() {
     }
 
@@ -44,7 +46,10 @@ public final class SpringTestHelper {
         final AbstractXmlApplicationContext applicationContext;
         try {
             DefaultCamelContext.setNoStart(true);
-            applicationContext = new 
ClassPathXmlApplicationContext(classpathUri);
+            applicationContext = new ClassPathXmlApplicationContext(new 
String[] { classpathUri }, false);
+            applicationContext.getEnvironment().getSystemProperties().put(
+                PROPERTY_TEST_DIR, test.testDirectory().toString());
+            applicationContext.refresh();
         } finally {
             DefaultCamelContext.setNoStart(isNoStart);
         }
@@ -57,11 +62,12 @@ public final class SpringTestHelper {
                 applicationContext.stop();
             }
         });
-
         SpringCamelContext context = 
SpringCamelContext.springCamelContext(applicationContext, false);
         for (Map.Entry<String, Object> entry : beans.entrySet()) {
             
context.getCamelContextExtension().getRegistry().bind(entry.getKey(), 
entry.getValue());
         }
+        
context.getCamelContextExtension().getRegistry().bind(PROPERTY_TEST_DIR, 
test.testDirectory());
+        context.getPropertiesComponent().addInitialProperty(PROPERTY_TEST_DIR, 
test.testDirectory().toString());
         if (!isNoStart) {
             context.start();
         }
diff --git 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java
 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java
index f7b24c38491..51a1ec4080e 100644
--- 
a/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java
+++ 
b/components/camel-spring-xml/src/test/java/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.java
@@ -47,7 +47,6 @@ public class FileConsumerIdempotentLoadStoreTest extends 
ContextTestSupport {
     @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
-
         Path file = testFile(".filestore.dat");
         try (Writer w = Files.newBufferedWriter(file)) {
             w.write(testFile("report.txt").toAbsolutePath().toString() + LS);
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml
index 1ac2f0e1152..19ad95c3d3e 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveIssueTest.xml
@@ -27,7 +27,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/SpringFileConsumerPreMoveIssueTest?initialDelay=0&amp;delay=10&amp;preMove=before/${file:name.noext}-moved.${file:ext}"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;preMove=before/${file:name.noext}-moved.${file:ext}"/>
             <process ref="checker"/>
             <to uri="mock:result"/>
         </route>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml
index 25efa10b2bd..1789e01d98e 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileConsumerPreMoveTest.xml
@@ -27,7 +27,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/SpringFileConsumerPreMoveTest?initialDelay=0&amp;delay=10&amp;preMove=work/work-${file:name}"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;preMove=work/work-${file:name}"/>
             <process ref="checker"/>
             <to uri="mock:result"/>
         </route>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml
index 5829f0fbca0..0dba3adc38c 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileLanguageCBRTest.xml
@@ -28,7 +28,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/SpringFileLanguageCBRTest?initialDelay=0&amp;delay=10&amp;delete=true"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;delete=true"/>
             <choice>
                 <when>
                     <simple>${file:ext} == 'txt'</simple>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml
index 8fbc6a45bea..3a494b7112a 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringFileRouteTest-context.xml
@@ -36,7 +36,7 @@
     </camelContext>
 
     <bean id="inputFile" class="org.apache.camel.component.file.FileEndpoint">
-        <property name="file" value="target/data/SpringFileRouteTest"/>
+        <property name="file" value="#{systemProperties['testDirectory']}"/>
     </bean>
     <!-- END SNIPPET: example -->
 
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml
index 7395df31595..db723ee7b91 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/file/SpringSimpleFileNameWithQuoteTest-context.xml
@@ -27,7 +27,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/SpringSimpleFileNameWithQuoteTest?initialDelay=0&amp;delay=10"/>
+            <from uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10"/>
             <setHeader name="foo">
                 <simple>"${file:name}" abc</simple>
             </setHeader>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml
index 54d80f19421..12539dcb971 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/FileWireTapWithXMLPayloadIssueTest.xml
@@ -27,7 +27,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/FileWireTapWithXMLPayloadIssueTest?initialDelay=0&amp;delay=10"/>
+            <from uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10"/>
             <convertBodyTo type="java.lang.String"/>
             <wireTap uri="mock:wiretap"/>
             <to uri="mock:result"/>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml
index 62fd3be8584..13a0c3084e3 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringPropertyPlaceholderIssueTest.xml
@@ -35,7 +35,7 @@
         <!-- use $simple{ start token in the fileName parameter
              to avoid clash with spring property placeholder. However we can 
still use
              spring property placeholders for the output folder -->
-        <endpoint id="myFile" 
uri="file://${outputFolder}?fileName=$simple{header.foo}"/>
+        <endpoint id="myFile" 
uri="file:{{testDirectory}}/${outputFolder}?fileName=$simple{header.foo}"/>
 
         <route>
             <from uri="direct:start"/>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml
index b21c213e78f..3519157cbdb 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/SpringRenameFileOnCommitIssueTest.xml
@@ -27,7 +27,7 @@
 
     <camelContext trace="true" xmlns="http://camel.apache.org/schema/spring";>
         <route>
-            <from 
uri="file://target/data/SpringRenameFileOnCommitIssueTest?initialDelay=0&amp;delay=10&amp;noop=false"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;noop=false"/>
             <setProperty name="PartitionID">
                 <xpath>//persons/person[1]/@name</xpath>
             </setProperty>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties
index f00b49c4278..c2f066a8f4e 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/issues/myprop.properties
@@ -17,6 +17,6 @@
 
 inputQueue=direct:start
 
-outputFolder=target/data/SpringPropertyPlaceholderFileEndpointIssueTest
+outputFolder=target
 
 myCharset=utf-8
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties
index 2e0b1405f5f..64a91f5b494 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/placeholder/bundle-context.properties
@@ -16,7 +16,7 @@
 ## ---------------------------------------------------------------------------
 
 fromEndpoint=direct:start
-toEndpoint=file://target/data/SimpleLanguageWithSpringPropertyPlaceholderRouteTest/outBox?fileName=test-${date:now:yyyyMMdd}.txt
+toEndpoint=file:{{testDirectory}}/outBox?fileName=test-${date:now:yyyyMMdd}.txt
 
 fromEndpointSimple=direct:startSimple
-toEndpointSimple=file://target/data/SimpleLanguageWithSpringPropertyPlaceholderRouteTest/outBoxSimple?fileName=test-$simple{date:now:yyyyMMdd}.txt
+toEndpointSimple=file:{{testDirectory}}/outBoxSimple?fileName=test-$simple{date:now:yyyyMMdd}.txt
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml
index 40259e361a5..edbff3679c1 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/pollingconsumer/FileConsumerSpringSchedulerTest.xml
@@ -29,7 +29,7 @@
   <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
     <route id="foo" autoStartup="false">
-      <from 
uri="file:target/data/FileConsumerSpringSchedulerTest?scheduler=spring&amp;scheduler.cron=0/2+*+*+*+*+?"/>
+      <from 
uri="file:{{testDirectory}}?scheduler=spring&amp;scheduler.cron=0/2+*+*+*+*+?"/>
       <to uri="log:result"/>
       <to uri="mock:result"/>
     </route>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml
index 8d824afd0b4..b28da3b744e 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteAllTasksTest.xml
@@ -34,7 +34,7 @@
     <jmxAgent id="jmx" disabled="true"/>
         <!-- let this route complete all its pending messages when asked to 
shutdown -->
         <route id="foo" autoStartup="false" 
shutdownRunningTask="CompleteAllTasks">
-            <from 
uri="file:target/data/SpringShutdownCompleteAllTasksTest?initialDelay=0&amp;delay=10&amp;synchronous=true"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;synchronous=true"/>
             <delay><constant>1000</constant></delay>
             <process ref="myProcessor"/>
             <to uri="mock:bar"/>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml
index 118e35b3699..3300ce1cd20 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/ShutdownCompleteCurrentTaskOnlyTest.xml
@@ -32,7 +32,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route startupOrder="1" shutdownRunningTask="CompleteCurrentTaskOnly">
-            <from 
uri="file:target/data/SpringShutdownCompleteCurrentTaskOnlyTest?initialDelay=0&amp;delay=10&amp;synchronous=true"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;synchronous=true"/>
             <delay><constant>1000</constant></delay>
             <to uri="seda:foo"/>
         </route>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml
index b1ff909e160..281124792ba 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml
@@ -57,7 +57,7 @@
 
     <camelContext xmlns="http://camel.apache.org/schema/spring"; 
errorHandlerRef="dead">
         <route>
-            <from 
uri="file://target/data/SpringDeadLetterChannelUseOriginalBodyWithFileTest?initialDelay=0&amp;delay=10&amp;noop=true"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;noop=true"/>
             <transform><simple>${in.body} World</simple></transform>
             <process ref="myThrowProcessor"/>
         </route>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml
index 5b02d61266d..b857746d515 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/FileConsumerIdempotentLoadStoreTest.xml
@@ -28,7 +28,7 @@
     <!-- this is our file based idempotent store configured to use the 
.filestore.dat as file -->
     <bean id="fileStore" 
class="org.apache.camel.support.processor.idempotent.FileIdempotentRepository">
         <!-- the filename for the store -->
-        <property name="fileStore" 
value="target/data/FileConsumerIdempotentLoadStoreTest/.filestore.dat"/>
+        <property name="fileStore" 
value="#{systemProperties['testDirectory']}/.filestore.dat"/>
         <!-- the max filesize in bytes for the file. Camel will trunk and 
flush the cache
              if the file gets bigger -->
         <property name="maxFileStoreSize" value="512000"/>
@@ -39,7 +39,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/FileConsumerIdempotentLoadStoreTest/?initialDelay=0&amp;delay=10&amp;idempotent=true&amp;idempotentRepository=#fileStore&amp;move=done/${file:name}"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;idempotent=true&amp;idempotentRepository=#fileStore&amp;move=done/${file:name}"/>
             <to uri="mock:result"/>
         </route>
     </camelContext>
diff --git 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml
 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml
index d852cb9f94b..b857746d515 100644
--- 
a/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml
+++ 
b/components/camel-spring-xml/src/test/resources/org/apache/camel/spring/processor/idempotent/fileConsumerIdempotentTest.xml
@@ -28,7 +28,7 @@
     <!-- this is our file based idempotent store configured to use the 
.filestore.dat as file -->
     <bean id="fileStore" 
class="org.apache.camel.support.processor.idempotent.FileIdempotentRepository">
         <!-- the filename for the store -->
-        <property name="fileStore" 
value="target/data/FileConsumerIdempotentTest/.filestore.dat"/>
+        <property name="fileStore" 
value="#{systemProperties['testDirectory']}/.filestore.dat"/>
         <!-- the max filesize in bytes for the file. Camel will trunk and 
flush the cache
              if the file gets bigger -->
         <property name="maxFileStoreSize" value="512000"/>
@@ -39,7 +39,7 @@
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
     <jmxAgent id="jmx" disabled="true"/>
         <route>
-            <from 
uri="file://target/data/FileConsumerIdempotentTest/?initialDelay=0&amp;delay=10&amp;idempotent=true&amp;idempotentRepository=#fileStore&amp;move=done/${file:name}"/>
+            <from 
uri="file:{{testDirectory}}?initialDelay=0&amp;delay=10&amp;idempotent=true&amp;idempotentRepository=#fileStore&amp;move=done/${file:name}"/>
             <to uri="mock:result"/>
         </route>
     </camelContext>
diff --git a/core/camel-core/src/test/java/org/apache/camel/TestSupport.java 
b/core/camel-core/src/test/java/org/apache/camel/TestSupport.java
index 69096982481..29604c205f3 100644
--- a/core/camel-core/src/test/java/org/apache/camel/TestSupport.java
+++ b/core/camel-core/src/test/java/org/apache/camel/TestSupport.java
@@ -21,7 +21,6 @@ import java.io.IOException;
 import java.lang.reflect.Method;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
@@ -40,6 +39,7 @@ import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assumptions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.TestInfo;
+import org.junit.jupiter.api.io.TempDir;
 import org.junit.jupiter.api.parallel.ResourceAccessMode;
 import org.junit.jupiter.api.parallel.ResourceLock;
 import org.junit.jupiter.api.parallel.Resources;
@@ -61,10 +61,12 @@ public abstract class TestSupport {
     private static final Logger LOG = 
LoggerFactory.getLogger(TestSupport.class);
 
     protected TestInfo info;
-    protected boolean testDirectoryCleaned;
 
     protected Logger log = LoggerFactory.getLogger(getClass());
 
+    @TempDir
+    private Path tempDirectory;
+
     @Override
     public String toString() {
         return getName() + "(" + getClass().getName() + ")";
@@ -82,73 +84,48 @@ public abstract class TestSupport {
     @BeforeEach
     public void setUp() throws Exception {
         Assumptions.assumeTrue(canRunOnThisPlatform());
-        deleteTestDirectory();
-    }
-
-    public void deleteTestDirectory() {
-        if (!testDirectoryCleaned) {
-            deleteDirectory(testDirectory().toFile());
-            testDirectoryCleaned = true;
-        }
     }
 
     @AfterEach
     public void tearDown() throws Exception {
         // make sure we cleanup the platform mbean server
         TestSupportJmxCleanup.removeMBeans(null);
-        testDirectoryCleaned = false;
-    }
-
-    protected Path testDirectory() {
-        return testDirectory(false);
-    }
-
-    protected Path testDirectory(boolean create) {
-        Class<?> testClass = getClass();
-        if (create) {
-            deleteTestDirectory();
-        }
-        return testDirectory(testClass, create);
     }
 
-    public static Path testDirectory(Class<?> testClass, boolean create) {
-        Path dir = Paths.get("target", "data", testClass.getSimpleName());
-        if (create) {
-            try {
-                Files.createDirectories(dir);
-            } catch (IOException e) {
-                throw new IllegalStateException("Unable to create test 
directory: " + dir, e);
-            }
-        }
-        return dir;
+    public Path testDirectory() {
+        return tempDirectory;
     }
 
-    protected Path testFile(String dir) {
-        return testDirectory().resolve(dir);
+    protected Path testFile(String file) {
+        return testDirectory().resolve(file);
     }
 
-    protected Path testDirectory(String dir) {
-        return testDirectory(dir, false);
+    protected Path testDirectory(String path) {
+        return testDirectory(path, false);
     }
 
-    protected Path testDirectory(String dir, boolean create) {
-        Path f = testDirectory().resolve(dir);
+    protected Path testDirectory(String path, boolean create) {
+        Path resolvedPath = testDirectory().resolve(path);
         if (create) {
             try {
-                Files.createDirectories(f);
+                Files.createDirectories(resolvedPath);
             } catch (IOException e) {
-                throw new IllegalStateException("Unable to create test 
directory: " + dir, e);
+                throw new IllegalStateException("Unable to create test 
directory: " + resolvedPath, e);
             }
         }
-        return f;
+        return resolvedPath;
     }
 
     protected String fileUri() {
-        return "file:" + testDirectory();
+        return "file:" + tempDirectory;
     }
 
     protected String fileUri(String query) {
-        return "file:" + testDirectory() + (query.startsWith("?") ? "" : "/") 
+ query;
+        return fileUri(tempDirectory, query);
+    }
+
+    protected String fileUri(Path directory, String query) {
+        return "file:" + directory + (query.startsWith("?") ? "" : "/") + 
query;
     }
 
     protected boolean canRunOnThisPlatform() {
@@ -445,43 +422,6 @@ public abstract class TestSupport {
         }
     }
 
-    /**
-     * Recursively delete a directory, useful to zapping test data
-     *
-     * @param file the directory to be deleted
-     */
-    public static void deleteDirectory(String file) {
-        deleteDirectory(new File(file));
-    }
-
-    /**
-     * Recursively delete a directory, useful to zapping test data
-     *
-     * @param file the directory to be deleted
-     */
-    public static void deleteDirectory(File file) {
-        if (file.isDirectory()) {
-            File[] files = file.listFiles();
-            if (files != null) {
-                for (File child : files) {
-                    deleteDirectory(child);
-                }
-            }
-        }
-
-        file.delete();
-    }
-
-    /**
-     * create the directory
-     *
-     * @param file the directory to be created
-     */
-    public static void createDirectory(String file) {
-        File dir = new File(file);
-        dir.mkdirs();
-    }
-
     /**
      * To be used for folder/directory comparison that works across different 
platforms such as Window, Mac and Linux.
      */
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java
index c36087d7d73..d9223fe0a92 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMaxMessagesPerPollTest.java
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test;
  */
 public class FileConsumeMaxMessagesPerPollTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("?initialDelay=0&delay=10&maxMessagesPerPoll=2");
+    public static final String FILE_QUERY = 
"?initialDelay=0&delay=10&maxMessagesPerPoll=2";
 
     @Test
     public void testMaxMessagesPerPoll() throws Exception {
@@ -36,10 +36,10 @@ public class FileConsumeMaxMessagesPerPollTest extends 
ContextTestSupport {
         mock.expectedMinimumMessageCount(2);
         mock.message(0).exchangeProperty(Exchange.BATCH_SIZE).isEqualTo(2);
         mock.message(1).exchangeProperty(Exchange.BATCH_SIZE).isEqualTo(2);
-
-        template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
-        template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"hello.txt");
-        template.sendBodyAndHeader(fileUrl, "Godday World", 
Exchange.FILE_NAME, "godday.txt");
+        String fileUri = fileUri(FILE_QUERY);
+        template.sendBodyAndHeader(fileUri, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
+        template.sendBodyAndHeader(fileUri, "Hello World", Exchange.FILE_NAME, 
"hello.txt");
+        template.sendBodyAndHeader(fileUri, "Godday World", 
Exchange.FILE_NAME, "godday.txt");
 
         // start route
         context.getRouteController().startRoute("foo");
@@ -51,7 +51,7 @@ public class FileConsumeMaxMessagesPerPollTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                
from(fileUrl).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result");
+                
from(fileUri(FILE_QUERY)).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java
index aeabcc74f6f..768b55728a0 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMoveRelativeNameTest.java
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test;
  */
 public class FileConsumeMoveRelativeNameTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("?initialDelay=0&delay=10&recursive=true&move=.done/${file:name}.old");
+    public static final String FILE_QUERY = 
"?initialDelay=0&delay=10&recursive=true&move=.done/${file:name}.old";
 
     @Test
     public void testMultiDir() throws Exception {
@@ -37,7 +37,7 @@ public class FileConsumeMoveRelativeNameTest extends 
ContextTestSupport {
         mock.expectedFileExists(testFile(".done/bye.txt.old"));
         mock.expectedFileExists(testFile(".done/sub/hello.txt.old"));
         mock.expectedFileExists(testFile(".done/sub/sub2/goodday.txt.old"));
-
+        String fileUrl = fileUri(FILE_QUERY);
         template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
         template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"sub/hello.txt");
         template.sendBodyAndHeader(fileUrl, "Goodday World", 
Exchange.FILE_NAME, "sub/sub2/goodday.txt");
@@ -51,7 +51,7 @@ public class FileConsumeMoveRelativeNameTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                
from(fileUrl).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result");
+                
from(fileUri(FILE_QUERY)).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java
index f26063916a0..e293dcde412 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeMultipleDirectoriesTest.java
@@ -31,17 +31,17 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
  */
 public class FileConsumeMultipleDirectoriesTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("?initialDelay=0&delay=10&recursive=true&delete=true&sortBy=file:path");
+    public static final String FILE_QUERY = 
"?initialDelay=0&delay=10&recursive=true&delete=true&sortBy=file:path";
 
     @SuppressWarnings("unchecked")
     @Test
     public void testMultiDir() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Bye World", "Hello World", "Godday 
World");
-
-        template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
-        template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"sub/hello.txt");
-        template.sendBodyAndHeader(fileUrl, "Godday World", 
Exchange.FILE_NAME, "sub/sub2/godday.txt");
+        String fileUri = fileUri(FILE_QUERY);
+        template.sendBodyAndHeader(fileUri, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
+        template.sendBodyAndHeader(fileUri, "Hello World", Exchange.FILE_NAME, 
"sub/hello.txt");
+        template.sendBodyAndHeader(fileUri, "Godday World", 
Exchange.FILE_NAME, "sub/sub2/godday.txt");
 
         assertMockEndpointsSatisfied();
 
@@ -68,7 +68,7 @@ public class FileConsumeMultipleDirectoriesTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(fileUrl).convertBodyTo(String.class).to("mock:result");
+                
from(fileUri(FILE_QUERY)).convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java
index b63a26f4093..d9476e8b2ff 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeNotEagerMaxMessagesPerPollTest.java
@@ -29,18 +29,14 @@ import org.junit.jupiter.api.parallel.Isolated;
 @Isolated
 public class FileConsumeNotEagerMaxMessagesPerPollTest extends 
ContextTestSupport {
 
-    // sort by name and not eager, then we should pickup the files in order
-    private String fileUrl = fileUri("?initialDelay=0&delay=10&"
-                                     + 
"maxMessagesPerPoll=2&eagerMaxMessagesPerPoll=false&sortBy=file:name");
-
     @Test
     public void testMaxMessagesPerPoll() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("AAA", "BBB");
 
-        template.sendBodyAndHeader(fileUrl, "CCC", Exchange.FILE_NAME, 
"ccc.FileConsumeNotEagerMaxMessagesPerPollTest.txt");
-        template.sendBodyAndHeader(fileUrl, "AAA", Exchange.FILE_NAME, 
"aaa.FileConsumeNotEagerMaxMessagesPerPollTest.txt");
-        template.sendBodyAndHeader(fileUrl, "BBB", Exchange.FILE_NAME, 
"bbb.FileConsumeNotEagerMaxMessagesPerPollTest.txt");
+        template.sendBodyAndHeader(fileUri(), "CCC", Exchange.FILE_NAME, 
"ccc.FileConsumeNotEagerMaxMessagesPerPollTest.txt");
+        template.sendBodyAndHeader(fileUri(), "AAA", Exchange.FILE_NAME, 
"aaa.FileConsumeNotEagerMaxMessagesPerPollTest.txt");
+        template.sendBodyAndHeader(fileUri(), "BBB", Exchange.FILE_NAME, 
"bbb.FileConsumeNotEagerMaxMessagesPerPollTest.txt");
 
         // start route
         context.getRouteController().startRoute("foo");
@@ -60,7 +56,9 @@ public class FileConsumeNotEagerMaxMessagesPerPollTest 
extends ContextTestSuppor
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                
from(fileUrl).routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result");
+                from(fileUri("?initialDelay=0&delay=10&"
+                             + 
"maxMessagesPerPoll=2&eagerMaxMessagesPerPoll=false&sortBy=file:name"))
+                        
.routeId("foo").noAutoStartup().convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java
index 3c414986906..22f67d3aa52 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToAbsoluteTest.java
@@ -24,8 +24,7 @@ import org.junit.jupiter.api.Test;
 
 public class FileConsumeSimpleAbsoluteMoveToAbsoluteTest extends 
ContextTestSupport {
 
-    private String fileUrl = fileUri();
-    private String base = testDirectory().toAbsolutePath().toString();
+    private String base;
 
     @Test
     public void testMoveToSubDir() throws Exception {
@@ -37,15 +36,16 @@ public class FileConsumeSimpleAbsoluteMoveToAbsoluteTest 
extends ContextTestSupp
         mock.expectedFileExists(base + "/.done/hello.txt");
         mock.expectedFileExists(base + "/.done/goodday.txt");
 
-        template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
-        template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"sub/hello.txt");
-        template.sendBodyAndHeader(fileUrl, "Goodday World", 
Exchange.FILE_NAME, "sub/sub2/goodday.txt");
+        template.sendBodyAndHeader(fileUri(), "Bye World", Exchange.FILE_NAME, 
"bye.txt");
+        template.sendBodyAndHeader(fileUri(), "Hello World", 
Exchange.FILE_NAME, "sub/hello.txt");
+        template.sendBodyAndHeader(fileUri(), "Goodday World", 
Exchange.FILE_NAME, "sub/sub2/goodday.txt");
 
         assertMockEndpointsSatisfied();
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        base = testDirectory().toAbsolutePath().toString();
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java
index 23a134254c8..ad2ad6bbace 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleAbsoluteMoveToRelativeTest.java
@@ -24,20 +24,17 @@ import org.junit.jupiter.api.Test;
 
 public class FileConsumeSimpleAbsoluteMoveToRelativeTest extends 
ContextTestSupport {
 
-    private String fileUrl = fileUri();
-    private String base = testDirectory().toAbsolutePath().toString();
-
     @Test
     public void testMoveToSubDir() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(3);
-        mock.expectedFileExists(base + "/.done/bye.txt");
-        mock.expectedFileExists(base + "/sub/.done/hello.txt");
-        mock.expectedFileExists(base + "/sub/sub2/.done/goodday.txt");
+        mock.expectedFileExists(testDirectory() + "/.done/bye.txt");
+        mock.expectedFileExists(testDirectory() + "/sub/.done/hello.txt");
+        mock.expectedFileExists(testDirectory() + 
"/sub/sub2/.done/goodday.txt");
 
-        template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
-        template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"sub/hello.txt");
-        template.sendBodyAndHeader(fileUrl, "Goodday World", 
Exchange.FILE_NAME, "sub/sub2/goodday.txt");
+        template.sendBodyAndHeader(fileUri(), "Bye World", Exchange.FILE_NAME, 
"bye.txt");
+        template.sendBodyAndHeader(fileUri(), "Hello World", 
Exchange.FILE_NAME, "sub/hello.txt");
+        template.sendBodyAndHeader(fileUri(), "Goodday World", 
Exchange.FILE_NAME, "sub/sub2/goodday.txt");
 
         assertMockEndpointsSatisfied();
     }
@@ -47,7 +44,7 @@ public class FileConsumeSimpleAbsoluteMoveToRelativeTest 
extends ContextTestSupp
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from("file://" + base + 
"?recursive=true&move=.done&initialDelay=0&delay=10").convertBodyTo(String.class)
+                from(fileUri() + 
"?recursive=true&move=.done&initialDelay=0&delay=10").convertBodyTo(String.class)
                         .to("mock:result");
             }
         };
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java
index 3b7bdeb1c73..907214bb417 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumeSimpleRelativeMoveToRelativeTest.java
@@ -24,8 +24,6 @@ import org.junit.jupiter.api.Test;
 
 public class FileConsumeSimpleRelativeMoveToRelativeTest extends 
ContextTestSupport {
 
-    private String fileUrl = fileUri();
-
     @Test
     public void testMoveToSubDir() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
@@ -33,7 +31,7 @@ public class FileConsumeSimpleRelativeMoveToRelativeTest 
extends ContextTestSupp
         mock.expectedFileExists(testFile(".done/bye.txt"));
         mock.expectedFileExists(testFile("sub/.done/hello.txt"));
         mock.expectedFileExists(testFile("sub/sub2/.done/goodday.txt"));
-
+        String fileUrl = fileUri();
         template.sendBodyAndHeader(fileUrl, "Bye World", Exchange.FILE_NAME, 
"bye.txt");
         template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"sub/hello.txt");
         template.sendBodyAndHeader(fileUrl, "Goodday World", 
Exchange.FILE_NAME, "sub/sub2/goodday.txt");
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java
index 0f363d9109f..ae13ddfa20e 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerDirectoryMustExistBridgeErrorHandlerTest.java
@@ -39,8 +39,8 @@ public class 
FileConsumerDirectoryMustExistBridgeErrorHandlerTest extends Contex
             public void configure() throws Exception {
                 errorHandler(deadLetterChannel("mock:dead"));
 
-                from(fileUri("?initialDelay=1&delay=1"
-                             + 
"&autoCreate=false&directoryMustExist=true&bridgeErrorHandler=true"))
+                from(fileUri(testDirectory("new", false), 
"?initialDelay=1&delay=1"
+                                                          + 
"&autoCreate=false&directoryMustExist=true&bridgeErrorHandler=true"))
                         .routeId("foo")
                         .noAutoStartup()
                         .to("mock:result");
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java
index df983a98a11..ed590e44557 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerExtendedAttributesTest.java
@@ -17,7 +17,7 @@
 package org.apache.camel.component.file;
 
 import java.nio.file.Files;
-import java.nio.file.Paths;
+import java.nio.file.Path;
 import java.util.Map;
 
 import org.apache.camel.ContextTestSupport;
@@ -36,31 +36,31 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
  */
 public class FileConsumerExtendedAttributesTest extends ContextTestSupport {
     private static final String FILE = "attributes.txt";
-    private final String root = testDirectory().toString();
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
-
-        Files.createFile(Paths.get(root, "basic", FILE));
-        Files.createFile(Paths.get(root, "basic-as-default", FILE));
-        Files.createFile(Paths.get(root, "basic-as-default-with-filter", 
FILE));
-        Files.createFile(Paths.get(root, "posix", FILE));
+        Files.createFile(testDirectory().resolve(Path.of("basic", FILE)));
+        Files.createFile(testDirectory().resolve(Path.of("basic-as-default", 
FILE)));
+        
Files.createFile(testDirectory().resolve(Path.of("basic-as-default-with-filter",
 FILE)));
+        Files.createFile(testDirectory().resolve(Path.of("posix", FILE)));
     }
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                
fromF("file://%s/basic?initialDelay=0&delay=10&extendedAttributes=basic:*", 
root).convertBodyTo(String.class)
+                
fromF("file://%s/basic?initialDelay=0&delay=10&extendedAttributes=basic:*", 
testDirectory())
+                        .convertBodyTo(String.class)
                         .to("mock:basic");
-                
fromF("file://%s/basic-as-default?initialDelay=0&delay=10&extendedAttributes=*",
 root)
+                
fromF("file://%s/basic-as-default?initialDelay=0&delay=10&extendedAttributes=*",
 testDirectory())
                         
.convertBodyTo(String.class).to("mock:basic-as-default");
                 
fromF("file://%s/basic-as-default-with-filter?initialDelay=0&delay=10&extendedAttributes=size,lastModifiedTime,lastAccessTime",
-                        root).convertBodyTo(String.class)
+                        testDirectory()).convertBodyTo(String.class)
                         .to("mock:basic-as-default-with-filter");
-                
fromF("file://%s/posix?initialDelay=0&delay=10&extendedAttributes=posix:*", 
root).convertBodyTo(String.class)
+                
fromF("file://%s/posix?initialDelay=0&delay=10&extendedAttributes=posix:*", 
testDirectory())
+                        .convertBodyTo(String.class)
                         .to("mock:posix");
             }
         };
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
index d7c1ad4aac8..388b118a9a1 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileFilterTest.java
@@ -28,8 +28,6 @@ import org.junit.jupiter.api.Test;
  */
 public class FileConsumerFileFilterTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("?initialDelay=0&delay=10&filter=#myFilter");
-
     @Override
     protected Registry createRegistry() throws Exception {
         Registry jndi = super.createRegistry();
@@ -69,7 +67,8 @@ public class FileConsumerFileFilterTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(fileUrl).convertBodyTo(String.class).to("mock:result");
+                from(fileUri("?initialDelay=0&delay=10&filter=#myFilter"))
+                        .convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java
index 6dd6040d5e6..41b295a6b17 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFileNameFilterTest.java
@@ -24,13 +24,11 @@ import org.junit.jupiter.api.Test;
 
 public class FileConsumerFileNameFilterTest extends ContextTestSupport {
 
-    private final String fileUri = fileUri();
-
     @Test
     public void testFileConsumer() throws Exception {
         final MockEndpoint mockEndpoint = getMockEndpoint("mock:txt");
         mockEndpoint.expectedBodiesReceivedInAnyOrder("Hello World", "Bye 
World");
-
+        String fileUri = fileUri();
         template.sendBodyAndHeader(fileUri, "Hello World", Exchange.FILE_NAME, 
"hello.txt");
         template.sendBodyAndHeader(fileUri, "<customer>123</customer>", 
Exchange.FILE_NAME, "customer.xml");
         template.sendBodyAndHeader(fileUri, "<book>Camel Rocks</book>", 
Exchange.FILE_NAME, "book.xml");
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java
index 75d0503b615..248b8247afe 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFilterFileTest.java
@@ -27,8 +27,10 @@ import org.junit.jupiter.api.Test;
  */
 public class FileConsumerFilterFileTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("?initialDelay=0&delay=10&filterFile=${bodyAs(String)} contains 
'World'");
-    private String fileUrl2 = 
fileUri("?initialDelay=0&delay=10&filterFile=${file:modified} < 
${date:now-2s}");
+    public static final String FILE_URL_1 = "?initialDelay=0&delay=10&"
+                                            + "filterFile=${bodyAs(String)} 
contains 'World'";
+    public static final String FILE_URL_2 = "?initialDelay=0&delay=10&"
+                                            + "filterFile=${file:modified} < 
${date:now-2s}";
 
     @Test
     public void testFilterFiles() throws Exception {
@@ -67,8 +69,8 @@ public class FileConsumerFilterFileTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(fileUrl).convertBodyTo(String.class).to("mock:result");
-                from(fileUrl2).convertBodyTo(String.class).to("mock:result2");
+                
from(fileUri(FILE_URL_1)).convertBodyTo(String.class).to("mock:result");
+                
from(fileUri(FILE_URL_2)).convertBodyTo(String.class).to("mock:result2");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java
index 43009ab3f87..da5812d3a03 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest.java
@@ -22,6 +22,7 @@ public class 
FileConsumerPreMoveCopyAndDeleteOnRenameFailFalseTest extends FileC
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        context.getRegistry().bind("testDirectory", testDirectory());
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java
index 5664089d919..b602d6eeacb 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveIssueTest.java
@@ -22,7 +22,6 @@ import java.nio.file.Path;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.TestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
@@ -43,10 +42,12 @@ public class FileConsumerPreMoveIssueTest extends 
ContextTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        context.getRegistry().bind("testDirectory", testDirectory());
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                
from(fileUri("?preMove=before/${file:name.noext}-moved.${file:ext}&initialDelay=0&delay=10"))
+                from(fileUri(
+                        
"?preMove=before/${file:name.noext}-moved.${file:ext}&initialDelay=0&delay=10"))
                         .process(new MyPreMoveCheckerProcessor())
                         .to("mock:result");
             }
@@ -57,11 +58,9 @@ public class FileConsumerPreMoveIssueTest extends 
ContextTestSupport {
 
         @Override
         public void process(Exchange exchange) throws Exception {
-            Class<?> cl = getClass();
-            while (cl.getEnclosingClass() != null) {
-                cl = cl.getEnclosingClass();
-            }
-            Path file = TestSupport.testDirectory(cl, 
false).resolve("before/hello-moved.txt");
+            Path testDirectory = (Path) exchange.getContext().getRegistry()
+                    .lookupByName("testDirectory");
+            Path file = testDirectory.resolve("before/hello-moved.txt");
             assertTrue(Files.exists(file), "Pre move file should exist");
         }
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java
index 65ea7399225..699cd606002 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveNoopTest.java
@@ -29,14 +29,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class FileConsumerPreMoveNoopTest extends ContextTestSupport {
 
-    private final String endpointUri = fileUri();
-
     @Test
     public void testPreMoveNoop() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedMessageCount(1);
 
-        template.sendBodyAndHeader(endpointUri, "Hello World", 
Exchange.FILE_NAME, "hello.txt");
+        template.sendBodyAndHeader(fileUri(), "Hello World", 
Exchange.FILE_NAME, "hello.txt");
 
         assertMockEndpointsSatisfied();
 
@@ -50,7 +48,7 @@ public class FileConsumerPreMoveNoopTest extends 
ContextTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
 
-        template.sendBodyAndHeader(endpointUri, "Hello World", 
Exchange.FILE_NAME, "hello.txt");
+        template.sendBodyAndHeader(fileUri(), "Hello World", 
Exchange.FILE_NAME, "hello.txt");
 
         assertMockEndpointsSatisfied();
         oneExchangeDone.matchesWaitTime();
@@ -60,7 +58,7 @@ public class FileConsumerPreMoveNoopTest extends 
ContextTestSupport {
         oneExchangeDone.reset();
         mock.expectedBodiesReceived("Hello Again World");
 
-        template.sendBodyAndHeader(endpointUri, "Hello Again World", 
Exchange.FILE_NAME, "hello.txt");
+        template.sendBodyAndHeader(fileUri(), "Hello Again World", 
Exchange.FILE_NAME, "hello.txt");
 
         assertMockEndpointsSatisfied();
         oneExchangeDone.matchesWaitTime();
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java
index 87a33cf2ad0..761627b550f 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerPreMoveTest.java
@@ -22,7 +22,6 @@ import java.nio.file.Path;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
-import org.apache.camel.TestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 import org.junit.jupiter.api.Test;
@@ -61,6 +60,7 @@ public class FileConsumerPreMoveTest extends 
ContextTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        context.getRegistry().bind("testDirectory", testDirectory());
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
@@ -74,11 +74,9 @@ public class FileConsumerPreMoveTest extends 
ContextTestSupport {
 
         @Override
         public void process(Exchange exchange) throws Exception {
-            Class<?> cl = getClass();
-            while (cl.getEnclosingClass() != null) {
-                cl = cl.getEnclosingClass();
-            }
-            Path file = TestSupport.testDirectory(cl, 
false).resolve("work/work-hello.txt");
+            Path testDirectory = (Path) exchange.getContext().getRegistry()
+                    .lookupByName("testDirectory");
+            Path file = testDirectory.resolve("work/work-hello.txt");
             assertTrue(Files.exists(file), "Pre move file should exist");
         }
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java
index 482a02e8e95..c7f390c5023 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerRelativeFileNameTest.java
@@ -33,18 +33,18 @@ public class FileConsumerRelativeFileNameTest extends 
ContextTestSupport {
 
         // the file name is also starting with filename-consumer
         template.sendBodyAndHeader(fileUri("filename-consumer"), "Hello 
World", Exchange.FILE_NAME,
-                testFile("filename-consumer-hello.txt").toString());
+                
testFile("filename-consumer-hello.txt").getFileName().toString());
         template.sendBodyAndHeader(fileUri("filename-consumer"), "Bye World", 
Exchange.FILE_NAME,
-                testFile("filename-consumer-bye.txt").toString());
+                
testFile("filename-consumer-bye.txt").getFileName().toString());
 
         context.getRouteController().startAllRoutes();
 
         assertMockEndpointsSatisfied();
 
         // and expect name to contain filename-consumer-XXX.txt
-        assertDirectoryEquals(testFile("filename-consumer-bye.txt").toString(),
+        
assertDirectoryEquals(testFile("filename-consumer-bye.txt").getFileName().toString(),
                 
mock.getReceivedExchanges().get(0).getIn().getHeader(Exchange.FILE_NAME, 
String.class));
-        
assertDirectoryEquals(testFile("filename-consumer-hello.txt").toString(),
+        
assertDirectoryEquals(testFile("filename-consumer-hello.txt").getFileName().toString(),
                 
mock.getReceivedExchanges().get(1).getIn().getHeader(Exchange.FILE_NAME, 
String.class));
     }
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
index b78484f1d65..006e8920a17 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerSkipDotFilesTest.java
@@ -28,12 +28,9 @@ import org.junit.jupiter.api.Test;
  */
 public class FileConsumerSkipDotFilesTest extends ContextTestSupport {
 
-    private final String baseUrl = fileUri();
-    private final String fileUrl = fileUri("?initialDelay=0&delay=10");
-
     @BeforeEach
     void sendDotFile() {
-        template.sendBodyAndHeader(baseUrl, "This is a dot file", 
Exchange.FILE_NAME, ".skipme");
+        template.sendBodyAndHeader(fileUri(), "This is a dot file", 
Exchange.FILE_NAME, ".skipme");
     }
 
     @Test
@@ -50,7 +47,7 @@ public class FileConsumerSkipDotFilesTest extends 
ContextTestSupport {
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("Hello World");
 
-        template.sendBodyAndHeader(baseUrl, "Hello World", Exchange.FILE_NAME, 
"hello.txt");
+        template.sendBodyAndHeader(fileUri(), "Hello World", 
Exchange.FILE_NAME, "hello.txt");
 
         mock.assertIsSatisfied();
     }
@@ -59,7 +56,7 @@ public class FileConsumerSkipDotFilesTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(fileUrl).convertBodyTo(String.class).to("mock:result");
+                
from(fileUri("?initialDelay=0&delay=10")).convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java
index aef048aa304..b7546ed3065 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadLockCopyTest.java
@@ -26,7 +26,7 @@ import org.junit.jupiter.api.condition.OS;
 
 public class FileExclusiveReadLockCopyTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("?readLock=fileLock&initialDelay=0&delay=10");
+    public static final String FILE_QUERY = 
"?readLock=fileLock&initialDelay=0&delay=10";
 
     @Test
     @DisabledOnOs(OS.WINDOWS)
@@ -35,7 +35,7 @@ public class FileExclusiveReadLockCopyTest extends 
ContextTestSupport {
         mock.expectedMessageCount(1);
         mock.expectedFileExists(testFile("out/hello.txt"), "Hello World");
 
-        template.sendBodyAndHeader(fileUrl, "Hello World", Exchange.FILE_NAME, 
"hello.txt");
+        template.sendBodyAndHeader(fileUri(FILE_QUERY), "Hello World", 
Exchange.FILE_NAME, "hello.txt");
 
         mock.assertIsSatisfied();
     }
@@ -44,7 +44,7 @@ public class FileExclusiveReadLockCopyTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(fileUrl).to(fileUri("out")).to("mock:result");
+                from(fileUri(FILE_QUERY)).to(fileUri("out")).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManuelTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManualTest.java
similarity index 90%
rename from 
core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManuelTest.java
rename to 
core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManualTest.java
index bf291db09d8..74675ffbd4d 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManuelTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadManualTest.java
@@ -26,9 +26,7 @@ import org.junit.jupiter.api.condition.OS;
 /**
  * Unit test to verify exclusive read by for manual testing.
  */
-public class FileExclusiveReadManuelTest extends ContextTestSupport {
-
-    private String fileUrl = 
fileUri("?readLock=fileLock&initialDelay=0&delay=10");
+public class FileExclusiveReadManualTest extends ContextTestSupport {
 
     @Test
     @DisabledOnOs(OS.WINDOWS)
@@ -47,7 +45,8 @@ public class FileExclusiveReadManuelTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from(fileUrl).to("mock:result");
+                from(fileUri("?readLock=fileLock&initialDelay=0&delay=10"))
+                        .to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java
index 663a515ad9b..296a8ab1885 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileExclusiveReadNoneStrategyTest.java
@@ -36,10 +36,10 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 public class FileExclusiveReadNoneStrategyTest extends ContextTestSupport {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(FileExclusiveReadNoneStrategyTest.class);
-    private String fileUrl = 
fileUri("slowfile?noop=true&initialDelay=0&delay=10&readLock=none");
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        String fileUrl = 
fileUri("slowfile?noop=true&initialDelay=0&delay=10&readLock=none");
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java
index bfefd2f7131..b83fcffdc15 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileHeaderFileNameProducedTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.file;
 
+import java.nio.file.Path;
+
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
@@ -44,7 +46,7 @@ public class FileHeaderFileNameProducedTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                
from("direct:in").to(fileUri("?fileExist=Override")).to("mock:result");
+                from("direct:in").to(fileUri(Path.of("target"), 
"?fileExist=Override")).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java
index f0a3473c7e9..31b4537c44e 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileIdempotentReadSameFileAgainTest.java
@@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test;
 
 public class FileIdempotentReadSameFileAgainTest extends ContextTestSupport {
 
-    private String uri = 
fileUri("?idempotent=false&move=../done&moveFailed=../error"
-                                 + 
"&preMove=working/${date:now:yyyyMMddHHmmssSSS}-${file:name}&readLock=none&initialDelay=0&delay=10");
+    public static final String FILE_QUERY = 
"?idempotent=false&move=../done&moveFailed=../error"
+                                            + 
"&preMove=working/${date:now:yyyyMMddHHmmssSSS}-${file:name}&readLock=none&initialDelay=0&delay=10";
 
     @Test
     public void testConsumeSameFileAgain() throws Exception {
@@ -51,7 +51,7 @@ public class FileIdempotentReadSameFileAgainTest extends 
ContextTestSupport {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                from(uri).convertBodyTo(String.class).to("mock:result");
+                
from(fileUri(FILE_QUERY)).convertBodyTo(String.class).to("mock:result");
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java
index 28e44d0bf46..207cb83d319 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempFileNameTest.java
@@ -27,13 +27,13 @@ import org.junit.jupiter.api.Test;
  */
 public class FileProduceTempFileNameTest extends ContextTestSupport {
 
-    private String fileUrl = 
fileUri("tempandrename?tempFileName=inprogress-${file:name.noext}.tmp");
-    private String parentFileUrl = 
fileUri("tempandrename?tempFileName=../work/${file:name.noext}.tmp");
-    private String childFileUrl = 
fileUri("tempandrename?tempFileName=work/${file:name.noext}.tmp");
+    public static final String FILE_URL_QUERY = 
"tempandrename?tempFileName=inprogress-${file:name.noext}.tmp";
+    public static final String PARENT_FILE_URL_QUERY = 
"tempandrename?tempFileName=../work/${file:name.noext}.tmp";
+    public static final String CHILD_FILE_URL_QUERY = 
"tempandrename?tempFileName=work/${file:name.noext}.tmp";
 
     @Test
     public void testCreateTempFileName() throws Exception {
-        Endpoint endpoint = context.getEndpoint(fileUrl);
+        Endpoint endpoint = context.getEndpoint(fileUri(FILE_URL_QUERY));
         GenericFileProducer<?> producer = (GenericFileProducer<?>) 
endpoint.createProducer();
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt");
@@ -44,7 +44,7 @@ public class FileProduceTempFileNameTest extends 
ContextTestSupport {
 
     @Test
     public void testNoPathCreateTempFileName() throws Exception {
-        Endpoint endpoint = context.getEndpoint(fileUrl);
+        Endpoint endpoint = context.getEndpoint(fileUri(FILE_URL_QUERY));
         GenericFileProducer<?> producer = (GenericFileProducer<?>) 
endpoint.createProducer();
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt");
@@ -76,7 +76,7 @@ public class FileProduceTempFileNameTest extends 
ContextTestSupport {
 
     @Test
     public void testCreateParentTempFileName() throws Exception {
-        Endpoint endpoint = context.getEndpoint(parentFileUrl);
+        Endpoint endpoint = 
context.getEndpoint(fileUri(PARENT_FILE_URL_QUERY));
         GenericFileProducer<?> producer = (GenericFileProducer<?>) 
endpoint.createProducer();
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt");
@@ -89,9 +89,9 @@ public class FileProduceTempFileNameTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("direct:a").to(fileUrl);
-                from("direct:b").to(parentFileUrl);
-                from("direct:c").to(childFileUrl);
+                from("direct:a").to(fileUri(FILE_URL_QUERY));
+                from("direct:b").to(fileUri(PARENT_FILE_URL_QUERY));
+                from("direct:c").to(fileUri(CHILD_FILE_URL_QUERY));
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java
index 508b5d64e11..0cb180c4886 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProduceTempPrefixTest.java
@@ -27,11 +27,11 @@ import org.junit.jupiter.api.Test;
  */
 public class FileProduceTempPrefixTest extends ContextTestSupport {
 
-    private String fileUrl = fileUri("?tempPrefix=inprogress.");
+    public static final String FILE_QUERY = "?tempPrefix=inprogress.";
 
     @Test
     public void testCreateTempFileName() throws Exception {
-        Endpoint endpoint = context.getEndpoint(fileUrl);
+        Endpoint endpoint = context.getEndpoint(fileUri(FILE_QUERY));
         GenericFileProducer<?> producer = (GenericFileProducer<?>) 
endpoint.createProducer();
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt");
@@ -42,7 +42,7 @@ public class FileProduceTempPrefixTest extends 
ContextTestSupport {
 
     @Test
     public void testCreateTempFileNameUsingComplexName() throws Exception {
-        Endpoint endpoint = context.getEndpoint(fileUrl);
+        Endpoint endpoint = context.getEndpoint(fileUri(FILE_QUERY));
         GenericFileProducer<?> producer = (GenericFileProducer<?>) 
endpoint.createProducer();
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader(Exchange.FILE_NAME, "foo/claus.txt");
@@ -53,7 +53,7 @@ public class FileProduceTempPrefixTest extends 
ContextTestSupport {
 
     @Test
     public void testNoPathCreateTempFileName() throws Exception {
-        Endpoint endpoint = context.getEndpoint(fileUrl);
+        Endpoint endpoint = context.getEndpoint(fileUri(FILE_QUERY));
         GenericFileProducer<?> producer = (GenericFileProducer<?>) 
endpoint.createProducer();
         Exchange exchange = endpoint.createExchange();
         exchange.getIn().setHeader(Exchange.FILE_NAME, "claus.txt");
@@ -78,7 +78,7 @@ public class FileProduceTempPrefixTest extends 
ContextTestSupport {
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                from("direct:a").to(fileUrl);
+                from("direct:a").to(fileUri(FILE_QUERY));
             }
         };
     }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java
index 198d4aeebab..cd60294a4c6 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerCharsetUTFOptimizedTest.java
@@ -23,7 +23,6 @@ import java.nio.file.Files;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
-import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
@@ -62,11 +61,6 @@ public class FileProducerCharsetUTFOptimizedTest extends 
ContextTestSupport {
         assertArrayEquals(utf, data);
     }
 
-    @AfterEach
-    public void deleteData() {
-        deleteDirectory(testDirectory().toFile());
-    }
-
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java
index beeb1adfa1b..b99c613c5b1 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileProducerDirectoryChmodOptionTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.file;
 
 import java.nio.file.Files;
 import java.nio.file.LinkOption;
+import java.nio.file.Path;
 import java.nio.file.attribute.PosixFilePermission;
 import java.nio.file.attribute.PosixFilePermissions;
 import java.util.Date;
@@ -36,6 +37,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 @DisabledOnOs(OS.WINDOWS)
 public class FileProducerDirectoryChmodOptionTest extends ContextTestSupport {
 
+    private static final String SUBDIR_NAME = "testdir";
+
     @Test
     public void testWriteValidNoDir() throws Exception {
         runChmodCheck("NoDir", null, "rwxr-xr-x");
@@ -57,19 +60,21 @@ public class FileProducerDirectoryChmodOptionTest extends 
ContextTestSupport {
         mock.expectedMessageCount(1);
         String testFileName = "chmod" + routeSuffix + ".txt";
         String testFileContent = "Writing file with chmod " + routeSuffix + " 
option at " + new Date();
-        mock.expectedFileExists(testFile(testFileName), testFileContent);
+        String testFilePath = Path.of(SUBDIR_NAME, testFileName).toString();
+        mock.expectedFileExists(testFile(testFilePath), testFileContent);
 
-        template.sendBodyAndHeader("direct:write" + routeSuffix, 
testFileContent, Exchange.FILE_NAME, testFileName);
+        template.sendBodyAndHeader("direct:write" + routeSuffix, 
testFileContent, Exchange.FILE_NAME, testFilePath);
 
         if (expectedDirectoryPermissions != null) {
-            Set<PosixFilePermission> permissions = 
Files.getPosixFilePermissions(testDirectory(), LinkOption.NOFOLLOW_LINKS);
+            Set<PosixFilePermission> permissions
+                    = 
Files.getPosixFilePermissions(testDirectory(SUBDIR_NAME), 
LinkOption.NOFOLLOW_LINKS);
             assertEquals(expectedDirectoryPermissions, 
PosixFilePermissions.toString(permissions));
             assertEquals(expectedDirectoryPermissions.replace("-", 
"").length(), permissions.size());
         }
 
         if (expectedPermissions != null) {
             Set<PosixFilePermission> permissions
-                    = Files.getPosixFilePermissions(testFile(testFileName), 
LinkOption.NOFOLLOW_LINKS);
+                    = Files.getPosixFilePermissions(testFile(testFilePath), 
LinkOption.NOFOLLOW_LINKS);
             assertEquals(expectedPermissions, 
PosixFilePermissions.toString(permissions));
             assertEquals(expectedPermissions.replace("-", "").length(), 
permissions.size());
         }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java
index 8e5a109ac12..da7c956b28c 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileRecursiveNoopTest.java
@@ -27,8 +27,6 @@ public class FileRecursiveNoopTest extends ContextTestSupport 
{
 
     @BeforeEach
     void sendMessages() {
-        testDirectory(true);
-
         template.sendBodyAndHeader(fileUri(), "a", Exchange.FILE_NAME, 
"a.txt");
         template.sendBodyAndHeader(fileUri(), "b", Exchange.FILE_NAME, 
"b.txt");
         template.sendBodyAndHeader(fileUri("foo"), "a2", Exchange.FILE_NAME, 
"a.txt");
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java
index 2453653bcb9..d969f6eff4b 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FileSplitXPathCharsetTest.java
@@ -23,12 +23,19 @@ import java.nio.file.Path;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 public class FileSplitXPathCharsetTest extends ContextTestSupport {
 
-    private final Path inputCsv = testFile("input.csv");
-    private final Path inputXml = testFile("input.xml");
+    private Path inputCsv;
+    private Path inputXml;
+
+    @BeforeEach
+    public void setUpTemporaryFiles() {
+        inputXml = testFile("input.xml");
+        inputCsv = testFile("input.csv");
+    }
 
     @Test
     public void testCsv() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java
index 4df0060e82e..8b0079d962e 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/FilerProducerAbsoluteTest.java
@@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test;
  */
 public class FilerProducerAbsoluteTest extends ContextTestSupport {
 
-    private String path = 
testDirectory("absolute").toAbsolutePath().toString();
+    private String path;
 
     @Test
     public void testProduceAbsoluteFile() throws Exception {
@@ -42,6 +42,7 @@ public class FilerProducerAbsoluteTest extends 
ContextTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        path = testDirectory("absolute").toAbsolutePath().toString();
         return new RouteBuilder() {
             public void configure() throws Exception {
                 from("direct:report").to("file://" + path, "mock:result");
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java
index 3d9a2ae905e..87589ad79cf 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyFactoryTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.file.cluster;
 
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
@@ -24,11 +25,11 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.camel.TestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.cluster.ClusteredRoutePolicyFactory;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,6 +43,9 @@ public final class FileLockClusteredRoutePolicyFactoryTest {
     private static final ScheduledExecutorService SCHEDULER = 
Executors.newScheduledThreadPool(CLIENTS.size());
     private static final CountDownLatch LATCH = new 
CountDownLatch(CLIENTS.size());
 
+    @TempDir
+    private static Path tempDir;
+
     // ************************************
     // Test
     // ************************************
@@ -70,7 +74,7 @@ public final class FileLockClusteredRoutePolicyFactoryTest {
 
             FileLockClusterService service = new FileLockClusterService();
             service.setId("node-" + id);
-            
service.setRoot(TestSupport.testDirectory(FileLockClusteredRoutePolicyTest.class,
 true).toString());
+            service.setRoot(tempDir.toString());
             service.setAcquireLockDelay(100, TimeUnit.MILLISECONDS);
             service.setAcquireLockInterval(100, TimeUnit.MILLISECONDS);
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java
index 17c4f4d9e0a..09950d99189 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/file/cluster/FileLockClusteredRoutePolicyTest.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.file.cluster;
 
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.CountDownLatch;
@@ -24,11 +25,11 @@ import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
 
-import org.apache.camel.TestSupport;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.cluster.ClusteredRoutePolicy;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.io.TempDir;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -42,6 +43,9 @@ public final class FileLockClusteredRoutePolicyTest {
     private static final ScheduledExecutorService SCHEDULER = 
Executors.newScheduledThreadPool(CLIENTS.size());
     private static final CountDownLatch LATCH = new 
CountDownLatch(CLIENTS.size());
 
+    @TempDir
+    private static Path tempDir;
+
     // ************************************
     // Test
     // ************************************
@@ -70,7 +74,7 @@ public final class FileLockClusteredRoutePolicyTest {
 
             FileLockClusterService service = new FileLockClusterService();
             service.setId("node-" + id);
-            
service.setRoot(TestSupport.testDirectory(FileLockClusteredRoutePolicyTest.class,
 false).toString());
+            service.setRoot(tempDir.toString());
             service.setAcquireLockDelay(1, TimeUnit.SECONDS);
             service.setAcquireLockInterval(1, TimeUnit.SECONDS);
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java
index 9bc9fbab400..3782ecfa876 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/properties/PropertiesComponentLoadPropertiesFromFileTrimValuesTest.java
@@ -32,7 +32,6 @@ public class 
PropertiesComponentLoadPropertiesFromFileTrimValuesTest extends Con
         CamelContext context = super.createCamelContext();
 
         // create space.properties file
-        testDirectory(true);
         try (Writer w = Files.newBufferedWriter(testFile("space.properties"))) 
{
             String cool = "cool.leading= Leading space" + LS + 
"cool.trailing=Trailing space " + LS
                           + "cool.both= Both leading and trailing space " + LS;
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java
index b0687f4c0d5..4a889609c76 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/seda/FileSedaShutdownCompleteAllTasksTest.java
@@ -31,10 +31,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class FileSedaShutdownCompleteAllTasksTest extends ContextTestSupport {
 
-    private String url = fileUri("?initialDelay=0&delay=10");
-
     @Test
     public void testShutdownCompleteAllTasks() throws Exception {
+        String url = fileUri("?initialDelay=0&delay=10");
+
         // prepare 5 files to begin with
         template.sendBodyAndHeader(url, "A", Exchange.FILE_NAME, "a.txt");
         template.sendBodyAndHeader(url, "B", Exchange.FILE_NAME, "b.txt");
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
index 245c01ac9d5..196bbbb290f 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltIncludeClasspathDotInDirectoryTest.java
@@ -35,7 +35,6 @@ public class XsltIncludeClasspathDotInDirectoryTest extends 
ContextTestSupport {
     @Override
     @AfterEach
     public void tearDown() throws Exception {
-        deleteDirectory("target/classes/com.mycompany");
         super.tearDown();
     }
 
@@ -55,7 +54,7 @@ public class XsltIncludeClasspathDotInDirectoryTest extends 
ContextTestSupport {
             @Override
             public void configure() throws Exception {
                 // copy templates to this directory
-                createDirectory("target/classes/com.mycompany");
+                testDirectory("target/classes/com.mycompany", true);
                 FileUtil.copyFile(new 
File("src/test/resources/org/apache/camel/component/xslt/staff_include_classpath2.xsl"),
                         new 
File("target/classes/com.mycompany/staff_include_classpath2.xsl"));
                 FileUtil.copyFile(new 
File("src/test/resources/org/apache/camel/component/xslt/staff_template.xsl"),
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java
index 6dcfbb0aa82..ec4c47a725a 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileDeleteTest.java
@@ -29,8 +29,6 @@ public class XsltOutputFileDeleteTest extends 
ContextTestSupport {
 
     @Test
     public void testXsltOutputDeleteFile() throws Exception {
-        testDirectory(true);
-
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("<?xml version=\"1.0\" 
encoding=\"UTF-8\"?><goodbye>world!</goodbye>");
         template.sendBodyAndHeader("direct:start", "<hello>world!</hello>", 
Exchange.XSLT_FILE_NAME,
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java
index a03aad8c2b5..5cf06502db3 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/component/xslt/XsltOutputFileTest.java
@@ -36,8 +36,6 @@ public class XsltOutputFileTest extends ContextTestSupport {
 
     @Test
     public void testXsltOutput() throws Exception {
-        testDirectory(true);
-
         MockEndpoint mock = getMockEndpoint("mock:result");
         mock.expectedBodiesReceived("<?xml version=\"1.0\" 
encoding=\"UTF-8\"?><goodbye>world!</goodbye>");
         mock.expectedFileExists(testFile("xsltme.xml"));
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java
index 77dc1639d72..6ce529dafaa 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/converter/stream/CachedOutputStreamTest.java
@@ -53,7 +53,7 @@ public class CachedOutputStreamTest extends 
ContextTestSupport {
     protected CamelContext createCamelContext() throws Exception {
         CamelContext context = super.createCamelContext();
         context.setStreamCaching(true);
-        
context.getStreamCachingStrategy().setSpoolDirectory(testDirectory(true).toFile());
+        
context.getStreamCachingStrategy().setSpoolDirectory(testDirectory().toFile());
         context.getStreamCachingStrategy().setSpoolEnabled(true);
         context.getStreamCachingStrategy().setSpoolThreshold(16);
         return context;
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java
index 4aa882e913f..af51264d4de 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/impl/FileStateRepositoryTest.java
@@ -20,6 +20,7 @@ import java.io.File;
 
 import org.apache.camel.TestSupport;
 import org.apache.camel.impl.engine.FileStateRepository;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
 import static 
org.apache.camel.impl.engine.FileStateRepository.fileStateRepository;
@@ -29,7 +30,12 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class FileStateRepositoryTest extends TestSupport {
 
-    private final File repositoryStore = 
testFile("file-state-repository.dat").toFile();
+    private File repositoryStore;
+
+    @BeforeEach
+    public void setUpTemporaryFile() {
+        repositoryStore = testFile("file-state-repository.dat").toFile();
+    }
 
     @Test
     public void shouldPreventUsingDelimiterInKey() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java
index abf712b2f71..1b9316e0b54 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentClearTest.java
@@ -30,12 +30,12 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 
 public class FileIdempotentClearTest extends ContextTestSupport {
 
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
+        File store = testFile("idempotentfilestore.dat").toFile();
         // delete file store before testing
         if (store.exists()) {
             store.delete();
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java
index 154a890cb9b..315a3b5f150 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerLoadStoreTest.java
@@ -35,7 +35,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class FileIdempotentConsumerLoadStoreTest extends ContextTestSupport {
 
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
 
     @Test
@@ -79,7 +78,7 @@ public class FileIdempotentConsumerLoadStoreTest extends 
ContextTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
-        testDirectory(true);
+        File store = testFile("idempotentfilestore.dat").toFile();
         try (FileOutputStream fos = new FileOutputStream(store)) {
             fos.write("4\n".getBytes());
         }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java
index 361a28d2191..e1db9ce91dc 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentConsumerTest.java
@@ -34,7 +34,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class FileIdempotentConsumerTest extends ContextTestSupport {
 
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
 
     @Test
@@ -78,6 +77,7 @@ public class FileIdempotentConsumerTest extends 
ContextTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        File store = testFile("idempotentfilestore.dat").toFile();
         return new RouteBuilder() {
             public void configure() {
                 repo = 
FileIdempotentRepository.fileIdempotentRepository(store);
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java
index a307a2f4ca0..0d855ac6fc3 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentRemoveTest.java
@@ -30,12 +30,13 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class FileIdempotentRemoveTest extends ContextTestSupport {
 
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
+    private File store;
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
+        store = testFile("idempotentfilestore.dat").toFile();
         // delete file store before testing
         if (store.exists()) {
             store.delete();
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java
index 4abbe6041d8..56f15452699 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/FileIdempotentTrunkStoreTest.java
@@ -40,8 +40,8 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class FileIdempotentTrunkStoreTest extends ContextTestSupport {
     protected Endpoint startEndpoint;
     protected MockEndpoint resultEndpoint;
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
+    private File store;
 
     @Test
     public void testTrunkFileStore() throws Exception {
@@ -90,6 +90,7 @@ public class FileIdempotentTrunkStoreTest extends 
ContextTestSupport {
     @Override
     @BeforeEach
     public void setUp() throws Exception {
+        store = testFile("idempotentfilestore.dat").toFile();
         // delete file store before testing
         if (store.exists()) {
             store.delete();
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java
index 55442b7f99e..59f754c6726 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/RouteFormattedUriTest.java
@@ -23,7 +23,6 @@ import org.junit.jupiter.api.Test;
 
 public class RouteFormattedUriTest extends ContextTestSupport {
 
-    private String path = testDirectory().toString();
     private String name = "hello.txt";
     private String pattern = ".*txt$";
     private String result = "result";
@@ -40,6 +39,7 @@ public class RouteFormattedUriTest extends ContextTestSupport 
{
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        String path = testDirectory().toString();
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java
index 18268ea1bdf..9263d402c76 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteAllTasksTest.java
@@ -33,7 +33,8 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 
 public class ShutdownCompleteAllTasksTest extends ContextTestSupport {
 
-    private String url = fileUri("?initialDelay=0&delay=10&synchronous=true");
+    public static final String FILE_URI_QUERY = 
"?initialDelay=0&delay=10&synchronous=true";
+
     private AtomicInteger counter = new AtomicInteger();
     private CountDownLatch latch = new CountDownLatch(2);
 
@@ -41,7 +42,7 @@ public class ShutdownCompleteAllTasksTest extends 
ContextTestSupport {
     @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
-
+        String url = fileUri(FILE_URI_QUERY);
         template.sendBodyAndHeader(url, "A", Exchange.FILE_NAME, "a.txt");
         template.sendBodyAndHeader(url, "B", Exchange.FILE_NAME, "b.txt");
         template.sendBodyAndHeader(url, "C", Exchange.FILE_NAME, "c.txt");
@@ -80,7 +81,7 @@ public class ShutdownCompleteAllTasksTest extends 
ContextTestSupport {
             @Override
             // START SNIPPET: e1
             public void configure() throws Exception {
-                from(url).routeId("foo").noAutoStartup()
+                from(fileUri(FILE_URI_QUERY)).routeId("foo").noAutoStartup()
                         // let it complete all tasks during shutdown
                         
.shutdownRunningTask(ShutdownRunningTask.CompleteAllTasks).process(new 
MyProcessor()).to("mock:bar");
             }
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java
index 34fa700a992..a44660034e7 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/ShutdownCompleteCurrentTaskOnlyTest.java
@@ -28,13 +28,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class ShutdownCompleteCurrentTaskOnlyTest extends ContextTestSupport {
 
-    private String url = fileUri("?initialDelay=0&delay=10&synchronous=true");
+    public static final String FILE_QUERY = 
"?initialDelay=0&delay=10&synchronous=true";
 
     @Override
     @BeforeEach
     public void setUp() throws Exception {
         super.setUp();
-
+        String url = fileUri(FILE_QUERY);
         template.sendBodyAndHeader(url, "A", Exchange.FILE_NAME, "a.txt");
         template.sendBodyAndHeader(url, "B", Exchange.FILE_NAME, "b.txt");
         template.sendBodyAndHeader(url, "C", Exchange.FILE_NAME, "c.txt");
@@ -61,6 +61,7 @@ public class ShutdownCompleteCurrentTaskOnlyTest extends 
ContextTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
+        String url = fileUri(FILE_QUERY);
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java
index e82ad4b77de..e6837ab669c 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/support/processor/idempotent/FileIdempotentStoreOrderingTest.java
@@ -46,7 +46,7 @@ public class FileIdempotentStoreOrderingTest extends 
TestSupport {
     @Test
     public void testTrunkStoreNotMaxHit() throws Exception {
         // given
-        File fileStore = testDirectory(true).resolve("data.dat").toFile();
+        File fileStore = testDirectory().resolve("data.dat").toFile();
         fileIdempotentRepository.setFileStore(fileStore);
         fileIdempotentRepository.setCacheSize(10);
         fileIdempotentRepository.start();
@@ -70,7 +70,7 @@ public class FileIdempotentStoreOrderingTest extends 
TestSupport {
     @Test
     public void testTrunkStoreFirstLevelMaxHit() throws Exception {
         // given
-        File fileStore = testDirectory(true).resolve("data.dat").toFile();
+        File fileStore = testDirectory().resolve("data.dat").toFile();
         fileIdempotentRepository.setFileStore(fileStore);
         fileIdempotentRepository.setCacheSize(5);
         fileIdempotentRepository.start();
@@ -94,7 +94,7 @@ public class FileIdempotentStoreOrderingTest extends 
TestSupport {
     @Test
     public void testTrunkStoreFileMaxHit() throws Exception {
         // given
-        File fileStore = testDirectory(true).resolve("data.dat").toFile();
+        File fileStore = testDirectory().resolve("data.dat").toFile();
         fileIdempotentRepository.setFileStore(fileStore);
         fileIdempotentRepository.setCacheSize(5);
         fileIdempotentRepository.setMaxFileStoreSize(128);
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java 
b/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java
index 101c76924ad..fc999690339 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/util/ResourceLoaderTest.java
@@ -62,7 +62,7 @@ public class ResourceLoaderTest extends TestSupport {
 
     @Test
     public void testLoadFileWithSpace() throws Exception {
-        createDirectory("target/data/my space");
+        testDirectory("target/data/my space", true);
         copyFile(new File("src/test/resources/log4j2.properties"), new 
File("target/data/my space/log4j2.properties"));
 
         DefaultCamelContext context = new DefaultCamelContext();
diff --git 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java
 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java
index 9322087b5f7..4c698708394 100644
--- 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java
+++ 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentClearTest.java
@@ -41,7 +41,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @DisabledOnOs(OS.AIX)
 public class ManagedFileIdempotentClearTest extends ManagementTestSupport {
 
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
 
     @Test
@@ -119,6 +118,7 @@ public class ManagedFileIdempotentClearTest extends 
ManagementTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        File store = testFile("idempotentfilestore.dat").toFile();
         return new RouteBuilder() {
             public void configure() {
                 repo = 
FileIdempotentRepository.fileIdempotentRepository(store);
diff --git 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java
 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java
index 13fbbcf6a44..5949e25429a 100644
--- 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java
+++ 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFileIdempotentConsumerTest.java
@@ -40,7 +40,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 @DisabledOnOs(OS.AIX)
 public class ManagedFileIdempotentConsumerTest extends ManagementTestSupport {
 
-    private File store = testFile("idempotentfilestore.dat").toFile();
     private IdempotentRepository repo;
 
     @Test
@@ -119,6 +118,7 @@ public class ManagedFileIdempotentConsumerTest extends 
ManagementTestSupport {
 
     @Override
     protected RouteBuilder createRouteBuilder() {
+        File store = testFile("idempotentfilestore.dat").toFile();
         return new RouteBuilder() {
             public void configure() {
                 repo = 
FileIdempotentRepository.fileIdempotentRepository(store);
diff --git 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java
 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java
index 0f405340a14..e1cb9b47baa 100644
--- 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java
+++ 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedRouteDumpStrategyTest.java
@@ -39,7 +39,6 @@ public class ManagedRouteDumpStrategyTest extends 
ManagementTestSupport {
 
     @Override
     protected CamelContext createCamelContext() throws Exception {
-        testDirectory(true);
         String dir = testDirectory().toString();
 
         CamelContext context = super.createCamelContext();

Reply via email to