Spring Cloud Dataflow를 사용하여 컨텐츠 기반 라우팅 및 필터링을 수행해야한다.Spring Cloud Dataflow를 사용한 컨텐츠 기반 라우팅
예 : 내 processor
에 대한 입력이 String 인 경우. 문자열에 xyz
이 있으면 내 Spring Cloud Stream에있는 구성 요소/단계 X
에 전달해야합니다. 그렇지 않으면 구성/단계 Y
내 스트림으로 이동합니다.
나는 동일한 것을 달성하기 위해 router-sink
을 사용할 수 있음을 알고 있습니다. 그러나 나는 routing \ decision을 processor
으로 사용하고 싶었다; 내 결정을 내리는 앱이 내 스트림에있는 프로세서이기 때문입니다.
동일하게하는 가장 좋은 방법은 무엇입니까? 당신이 당신의 프로세서 StreamListener
를 사용하는 경우
내가 틀릴 수도 있지만 OP의 질문을 다르게 읽습니다. 이 접근법은 단일 프로세서 응용 프로그램이 응용 프로그램 내의 다른 처리기로 파견하여 입력을 다르게 처리 할 수있게합니다. OP는 프로세서가 입력을 처리하고 결과를 기반으로 다른 "다음"프로세서 (아마도 명명 된 대상)로 출력을 라우팅하기를 원합니다. 불행히도, 내가 옳다면, 나는 실제로 같은 질문을 가지고 있으므로 아직 대답이 없습니다. –
동적 목적지로 메시지를 보낼 때'BinderAwareChannelResolver'를 사용할 수 있습니다. [여기에있는 문서를 참조하십시오.] (https://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#dynamicdestination) 이것을 사용하여 들어오는 메시지를 다양한 대상으로 라우팅 할 수 있습니다. – sobychacko