스프링 통합 4.1.0을 사용하고 있습니다.스프링 통합에서 setShouldAppendNewLine을 FileWritingMessageHandler에 추가하십시오.
채널로 유입 된 각 메시지의 행을 포함하는 단일 파일을 생성하고 싶습니다. 아래 표시됨
는이 링크의 섹션 "통합 흐름 정의"에 따라, 그렇게 할 수있는 설정입니다 : https://spring.io/guides/gs/integration/
<feed:inbound-channel-adapter id="news" url="https://spring.io/blog.atom">
<int:poller fixed-rate="5000"/>
</feed:inbound-channel-adapter>
<int:transformer
input-channel="news"
expression="payload.title + ' @ ' + payload.link + '#{systemProperties['line.separator']}'"
output-channel="file"/>
<file:outbound-channel-adapter id="file"
mode="APPEND"
charset="UTF-8"
directory="/tmp/si"
filename-generator-expression="'SpringBlog'"/>
이것은 매우 일반적인 사용 사례처럼 보인다을 (적어도 내 팀 그것은 틀림 없다). CharacterStreamWritingMessageHandler
(stdout
및 stderr
에 글쓰기)은이 세터 인 setShouldAppendNewLine(boolean shouldAppendNewLine)
을 제공합니다. 비슷한 설정을 FileWritingMessageHandler
에 제공 할 수 있습니까?
실제로 변압기의 작업이라고 할 수 있지만 (예제에 표시된 것처럼), 이미 CharacterStreamWritingMessageHandler
클래스의 설정으로 제공되는 경우이 특수 변압기 유스 케이스에 적용 할 수 있습니다. 그리고 이것을 FileWritingMessageHandler
과 비슷한 동작을하는 합리적인 요청으로 봅니다. 또한 SpEL 표현식이 새로운 spring.expression.compiler.mode=MIXED
설정을 사용하지 않는 한 컴파일 된 코드만큼 빠르게 실행되지 않는 경우에도 변압기 단계가 필요하지 않으므로 일부 처리 시간이 절약됩니다.
이를 위해 JIRA를 열고 변경 사항을 제공하려고 시도합니다 (며칠 소요될 수 있음). –
마침내 JIRA를 추가했습니다. https://jira.spring.io/browse/INT-3620을 참조하십시오. Pull Request는 여기에 있습니다 : https://github.com/spring-projects/spring-integration/pull/1361 –
XML 네임 스페이스 지원에 대해서는 JIRA https://jira.spring.io/browse/INT-3621을 참조하십시오. –