SI サンプルをテストしていますが、次の問題が発生しています。
私のSI ver-1.0.4
わかりやすくするために、以下の内容を貼り付けます。
fileCopyDemo-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");
}
}
Handler.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 ファイルをデバッグ モードで実行しています。
FileWriter fw = 新しい FileWriter(newTextFile);
実行されます Handler.java でコントロールを受け取っています。理想的には、ファイルが閉じられたらコントロールを受け取りたいと考えていました。このシナリオをどのように処理しますか?
PS : 私もこれを読みましたが、この場合、ここでの処理方法がわかりません。