SI sample을 테스트 중이며 다음과 같은 문제가 발생합니다.스프링 통합 파일 - 쓰기 전에 인바운드 채널 어댑터로 파일 읽기
내 SI는 버전-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;
}
}
나는 입력 폴더에 파일을 생성하는 다른 자바 클래스가 있습니다.
Sample.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 = 새로운 FileWriter (newTextFile)를 실행하고;
실행됩니다. Handler.java에서 컨트롤을 받고 있습니다. 일단 파일이 닫히면 이상적으로 컨트롤을 받고 싶습니다. 이 시나리오를 어떻게 처리할까요?
추신 : 나는 this을 읽었지만이 경우 처리 방법은 확실하지 않습니다.
참고 : 1.0.4는 매우 오래되었습니다. 현재 릴리스는 2.2.0.RELEASE입니다. –
불행히도 내 스프링이 v2.5.6이고 현재는 3.x로 업그레이드 할 대역폭이 없기 때문에 나는 그것에 매달렸습니다. 대체 접근 방식에 대해 감사드립니다. – Mahendran