Spring Cloud Streams - условная пересылка данных по темам Kafka - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь отправить данные в разные темы на основе некоторой оценки.Я использую SPring CLoud Streams и Kafka

Как я могу условно пересылать темы кафки.Мне нужно вставить код, связанный с SCS-kafka, в места, где я специально прокомментировал.

Спасибо.

    @EnableBinding(Sink.class)
public class SampleSink {

    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    private SomeService someService;

    @ServiceActivator(inputChannel = Sink.INPUT)
    public void processor(Message<?> message1) {


        EvaluateData evaluateData = someService.evaluateData(message1);

        String Result = String.valueOf(evaluateData.getResult());

        try {

            if(validationResult.equalsIgnoreCase("allgood")){

                //Send message1 to Topic1


            }

            else if (validationResult.equalsIgnoreCase("notgood")){
 new SomeException("topic1");

// отправил данные в topic2

            }

            else {
                throw new SomeException("topic3");
            }

        }
        catch (SomeException e){

          //something

// отправляем данные в topic2 и 3 соответственно}

    }
}

1 Ответ

0 голосов
/ 12 ноября 2018

То, что вы пытаетесь сделать, это, по сути, маршрутизатор, который мы уже предоставляем как готовое приложение.Это в основном маршрутизатор Sink, который будет маршрутизировать сообщение в зависимости от условий, указанных вами при настройке.Пожалуйста, смотрите больше здесь

...