我正在测试SI 样本,我遇到了以下问题。
我的 SI 版本 1.0.4
为了便于理解,我粘贴以下内容:
文件CopyDemo-text.xml
    <file:inbound-channel-adapter id="filesIn"
                                  directory="file:${java.io.tmpdir}/spring-integration-samples/input" filename-pattern=".*\.xml">
        <integration:poller id="poller" >
            <integration:interval-trigger initial-delay="1000" interval="2000" fixed-rate="true"/>
        </integration:poller>
    </file:inbound-channel-adapter>
    <integration:service-activator input-channel="filesIn"
                                   output-channel="filesOut"
                                   ref="handler"/>
    <file:outbound-channel-adapter id="filesOut"
                                   directory="file:${java.io.tmpdir}/spring-integration-samples/output"
                                   delete-source-files="true"/>
    <bean id="handler" class="org.springframework.integration.samples.filecopy.Handler"/>
FileBasedCopyTest.java
public class FileBasedFileCopyTest {
    public static void main(String[] args)
    {
        ApplicationContext ac = new ClassPathXmlApplicationContext("/META-INF/spring/integration/fileCopyDemo-file.xml");
    }
}
处理程序.java
public class Handler {
    public File handleFile(File input) {
        System.out.println("Copying file: " + input.getAbsolutePath());
        return input;
    }
}
我有另一个 java 类,它在输入文件夹中创建一个文件。
示例.java
public static void main(String[] args) {
    try {
        String str = "SomeMoreTextIsHere";
        File newTextFile = new File("C:/Windows/Temp/spring-integration-samples/input/thetextfile.xml");
        FileWriter fw = new FileWriter(newTextFile);
        fw.write(str);
        fw.close();
    } catch (IOException iox) {
        iox.printStackTrace();
    }
}
我已经运行了 FileBasedCopyTest,它现在正在监听输入文件夹。
问题 我正在调试模式下运行 Sample.java 文件和 momemt
FileWriter fw = new FileWriter(newTextFile);
执行我在 Handler.java 中接收控制,理想情况下我想在文件关闭后接收控制。如何处理这种情况?
PS:我也读过这个,但不确定在这种情况下如何处理。