The default flush interval is 30000. 왜 스케줄링하기 전에 FileWritingMessageHandler divide this interval by 3의 시작 메소드를 사용합니까?FileWritingMessageHandler의 APPEND_NO_FLUSH는 어떻게 작동합니까?
다음 스트림을 생성하여 spring-cloud-dataflow 프로젝트로 플러시를 테스트 해 보았습니다 : 'time | file --mode = APPEND_NO_FLUSH --directory = test '
예상 결과 : 30 초 후에 파일에 기록 된 30 개의 메시지를 참조하십시오.
실제 결과 : 0 개의 메시지가 파일에 기록됩니다.
이것은 [참조 설명서] (http://docs.spring.io/spring-integration/reference/html/files.html#file-flushing)에서 이미 설명되어 있습니다. flushInterval - 파일이 기록되지 않은 경우 이 기간 동안 자동으로 플러시됩니다. 이것은 근사치이며 이번에는 1.33x까지 올 수도 있습니다. ' –
감사합니다. 그래서, 다음과 같은 스트림에서 매 30-40 초마다 파일로 메시지를 플러시하고 싶다면 'time | file --mode = APPEND_NO_FLUSH --directory = test '사용자 정의 FlushPredicate를 작성해야합니까? – aturkovic
아니요; 당신은 술어가 필요 없다. DEBUG 로깅을 켜면 플러시가 표시됩니다. 내 대답을 편집하십시오. –