diff --git a/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java b/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java index c32913e8d6..d3d6bec26f 100644 --- a/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java +++ b/spring-integration-file/src/main/java/org/springframework/integration/file/remote/handler/FileTransferringMessageHandler.java @@ -24,8 +24,6 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.nio.charset.Charset; -import org.springframework.core.io.FileSystemResource; -import org.springframework.core.io.Resource; import org.springframework.expression.Expression; import org.springframework.integration.Message; import org.springframework.integration.MessageDeliveryException; @@ -59,9 +57,7 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { private volatile FileNameGenerator fileNameGenerator = new DefaultFileNameGenerator(); - private volatile File temporaryBufferFolderFile; - - private volatile Resource temporaryBufferFolder = new FileSystemResource(System.getProperty("java.io.tmpdir")); + private volatile File temporaryDirectory = new File(System.getProperty("java.io.tmpdir")); private volatile String charset = Charset.defaultCharset().name(); @@ -76,8 +72,9 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { this.directoryExpressionProcessor = new ExpressionEvaluatingMessageProcessor(remoteDirectoryExpression); } - public void setTemporaryBufferFolder(Resource temporaryBufferFolder) { - this.temporaryBufferFolder = temporaryBufferFolder; + public void setTemporaryDirectory(File temporaryDirectory) { + Assert.notNull(temporaryDirectory, "temporaryDirectory must not be null"); + this.temporaryDirectory = temporaryDirectory; } public void setFileNameGenerator(FileNameGenerator fileNameGenerator) { @@ -90,8 +87,6 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { protected void onInit() throws Exception { Assert.notNull(this.directoryExpressionProcessor, "remoteDirectoryExpression is required"); - Assert.notNull(this.temporaryBufferFolder, "temporaryBufferFolder must not be null"); - this.temporaryBufferFolderFile = this.temporaryBufferFolder.getFile(); } @Override @@ -158,8 +153,8 @@ public class FileTransferringMessageHandler extends AbstractMessageHandler { try { Object payload = message.getPayload(); String generateFileName = this.fileNameGenerator.generateFileName(message); - File tempFile = new File(this.temporaryBufferFolderFile, generateFileName + TEMPORARY_FILE_SUFFIX); - File resultFile = new File(this.temporaryBufferFolderFile, generateFileName); + File tempFile = new File(this.temporaryDirectory, generateFileName + TEMPORARY_FILE_SUFFIX); + File resultFile = new File(this.temporaryDirectory, generateFileName); File sendableFile = null; if (payload instanceof String) { sendableFile = this.handleStringMessage((String) payload, tempFile, resultFile, this.charset); diff --git a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java index 93f51ad111..ebb9280a0b 100644 --- a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java +++ b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpOutboundChannelAdapterParserTests.java @@ -47,8 +47,7 @@ public class FtpOutboundChannelAdapterParserTests { FileTransferringMessageHandler handler = (FileTransferringMessageHandler) TestUtils.getPropertyValue(consumer, "handler"); assertEquals(ac.getBean("fileNameGenerator"), TestUtils.getPropertyValue(handler, "fileNameGenerator")); assertEquals("UTF-8", TestUtils.getPropertyValue(handler, "charset")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolder")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolderFile")); + assertNotNull(TestUtils.getPropertyValue(handler, "temporaryDirectory")); CachingSessionFactory cacheSf = (CachingSessionFactory) TestUtils.getPropertyValue(handler, "sessionFactory"); DefaultFtpSessionFactory sf = (DefaultFtpSessionFactory) TestUtils.getPropertyValue(cacheSf, "sessionFactory"); assertEquals("localhost", TestUtils.getPropertyValue(sf, "host")); diff --git a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java index 8b6328c0cf..96f9d184b3 100644 --- a/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java +++ b/spring-integration-ftp/src/test/java/org/springframework/integration/ftp/config/FtpsOutboundChannelAdapterParserTests.java @@ -46,8 +46,7 @@ public class FtpsOutboundChannelAdapterParserTests { FileTransferringMessageHandler handler = (FileTransferringMessageHandler) TestUtils.getPropertyValue(consumer, "handler"); assertEquals(ac.getBean("fileNameGenerator"), TestUtils.getPropertyValue(handler, "fileNameGenerator")); assertEquals("UTF-8", TestUtils.getPropertyValue(handler, "charset")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolder")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolderFile")); + assertNotNull(TestUtils.getPropertyValue(handler, "temporaryDirectory")); CachingSessionFactory cacheSf = (CachingSessionFactory) TestUtils.getPropertyValue(handler, "sessionFactory"); DefaultFtpsSessionFactory sf = (DefaultFtpsSessionFactory) TestUtils.getPropertyValue(cacheSf, "sessionFactory"); assertEquals("localhost", TestUtils.getPropertyValue(sf, "host")); diff --git a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapaterParserTests.java b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapaterParserTests.java index 85bbea7c96..099baa9c35 100644 --- a/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapaterParserTests.java +++ b/spring-integration-sftp/src/test/java/org/springframework/integration/sftp/config/OutboundChannelAdapaterParserTests.java @@ -55,8 +55,7 @@ public class OutboundChannelAdapaterParserTests { assertTrue(remoteDirectoryExpression instanceof LiteralExpression); assertEquals(context.getBean("fileNameGenerator"), TestUtils.getPropertyValue(handler, "fileNameGenerator")); assertEquals("UTF-8", TestUtils.getPropertyValue(handler, "charset")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolder")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolderFile")); + assertNotNull(TestUtils.getPropertyValue(handler, "temporaryDirectory")); CachingSessionFactory sessionFactory = (CachingSessionFactory) TestUtils.getPropertyValue(handler, "sessionFactory"); DefaultSftpSessionFactory clientFactory = (DefaultSftpSessionFactory) TestUtils.getPropertyValue(sessionFactory, "sessionFactory"); assertEquals("localhost", TestUtils.getPropertyValue(clientFactory, "host")); @@ -79,8 +78,7 @@ public class OutboundChannelAdapaterParserTests { String fileNameGeneratorExpression = (String) TestUtils.getPropertyValue(generator, "expression"); assertEquals("payload.getName() + '-foo'", fileNameGeneratorExpression); assertEquals("UTF-8", TestUtils.getPropertyValue(handler, "charset")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolder")); - assertNotNull(TestUtils.getPropertyValue(handler, "temporaryBufferFolderFile")); + assertNotNull(TestUtils.getPropertyValue(handler, "temporaryDirectory")); }