Artem. Si의 새로운 버전을 만나서 반갑습니다. 스프링 통합 흐름에서 reactor 또는 rxjava를 사용할 수 있습니까? 예를 들어이스프링 통합 식 원자로
처럼 : 일부 컬렉션 입력 XML은 => 모두의 반응 splitter-> 반응에 변압기> 반응 아웃 바운드
Artem. Si의 새로운 버전을 만나서 반갑습니다. 스프링 통합 흐름에서 reactor 또는 rxjava를 사용할 수 있습니까? 예를 들어이스프링 통합 식 원자로
처럼 : 일부 컬렉션 입력 XML은 => 모두의 반응 splitter-> 반응에 변압기> 반응 아웃 바운드
첫 번째는 피드백과 우리의 작업에 관심을 주셔서 감사합니다. 우리는 현실 세계의 추세를 따라 가려고 노력하고 있으며 항상 제 시간에 갈 것입니다 .--).
음, Reactor 또는 유사한 Reactive Streams 솔루션에 관한 것.
"스크래치"흐름을 수행하는 것이 좋습니다. Spring Integration이 Reactive Streams처럼 보이는 한, 우리는 그런 식으로 결합해야합니다.
먼저 Spring Integration은 Spring Container를 요구하는 '관리되는'흐름 광고이므로, Reactor와 결합하려면 Stream
을 제공하는 코드에서 Spring Container에 액세스해야합니다. 다른 쪽에서는 Spring Integration의 Reactor Stream
에 접근 할 수 있도록 Spring bean으로 만들어야합니다.
곧 출시 될 Spring Integration 4.1에는 Promise<?> Gateway
이 도입되었습니다. Controller
또는 Service
이 Spring bean이고 코드가 Reactor Stream
을 통해 작성되는 경우 게이트웨이 인터페이스를 사용하는 Spring Integration 플로우에 액세스 할 수 있으며 해당 Integration Flow의 결과는 다음 Stream Action에 Event
으로 채워집니다.
pull
대신에 스프링 통합을위한 push
조치가 필요한 경우 이와 유사한 방식으로 수행 할 수 있습니다.
<outbound-channel-adapter channel="reactorStreamChannel" ref="reactorStream" method="accept"/>
나는 하나의 '세계'에서 이동하지 않는 것이 좋습니다 : 우리가 가서 channel-adapter
에서 사용할 수 있습니다 그 후
@Bean
public Deffered<Integer, Stream<Integer>> reactorStream() {
Deferred<Integer, Stream<Integer>> stream = Streams.<Integer>defer(new Environment());
stream.compose().collect(5).timeout(1000);
return stream;
}
:
는 원자로에게Deffered
콩이 있다고 가정 항상 '다른'것입니다. 왜냐하면 우리는 그들 모두로부터 최선을 잃을지도 모르기 때문입니다. 또는 Reactor Stream은 모든 Spring 통합의 주요 흐름입니다.
저는 원자로 팀의 다른 생각을 듣고 기쁘게 생각합니다 .--).