diff --git a/spring-integration-file/src/main/java/org/springframework/integration/file/FileWritingMessageHandler.java b/spring-integration-file/src/main/java/org/springframework/integration/file/FileWritingMessageHandler.java index e4a4087db0..f8e2a416a0 100644 --- a/spring-integration-file/src/main/java/org/springframework/integration/file/FileWritingMessageHandler.java +++ b/spring-integration-file/src/main/java/org/springframework/integration/file/FileWritingMessageHandler.java @@ -536,13 +536,12 @@ public class FileWritingMessageHandler extends AbstractReplyProducingMessageHand if (append) { final File fileToWriteTo = this.determineFileToWrite(resultFile, tempFile); - final FileState state = getFileState(fileToWriteTo, false); - WhileLockedProcessor whileLockedProcessor = new WhileLockedProcessor(this.lockRegistry, fileToWriteTo.getAbsolutePath()) { @Override protected void whileLocked() throws IOException { + FileState state = getFileState(fileToWriteTo, false); BufferedOutputStream bos = null; try { bos = state != null ? state.stream : createOutputStream(fileToWriteTo, true); @@ -620,8 +619,6 @@ public class FileWritingMessageHandler extends AbstractReplyProducingMessageHand throws IOException { final File fileToWriteTo = this.determineFileToWrite(resultFile, tempFile); - final FileState state = getFileState(fileToWriteTo, false); - final boolean append = FileExistsMode.APPEND.equals(this.fileExistsMode); WhileLockedProcessor whileLockedProcessor = new WhileLockedProcessor(this.lockRegistry, @@ -629,6 +626,7 @@ public class FileWritingMessageHandler extends AbstractReplyProducingMessageHand @Override protected void whileLocked() throws IOException { + FileState state = getFileState(fileToWriteTo, false); BufferedOutputStream bos = null; try { bos = state != null ? state.stream : createOutputStream(fileToWriteTo, append); @@ -664,8 +662,6 @@ public class FileWritingMessageHandler extends AbstractReplyProducingMessageHand throws IOException { final File fileToWriteTo = this.determineFileToWrite(resultFile, tempFile); - final FileState state = getFileState(fileToWriteTo, true); - final boolean append = FileExistsMode.APPEND.equals(this.fileExistsMode); WhileLockedProcessor whileLockedProcessor = new WhileLockedProcessor(this.lockRegistry, @@ -673,6 +669,7 @@ public class FileWritingMessageHandler extends AbstractReplyProducingMessageHand @Override protected void whileLocked() throws IOException { + FileState state = getFileState(fileToWriteTo, true); BufferedWriter writer = null; try { writer = state != null ? state.writer : createWriter(fileToWriteTo, append);