我试图发送数据到不同的主题基于一些评价。我用的是Spring的云流和Kafka
我怎样才能有条件地转发Kafka的主题。我需要插入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
//分别向主题2和主题3发送数据}
}
}
1条答案
按热度按时间ie3xauqp1#
你要做的基本上是一个路由器,我们已经提供了现成的应用程序。它基本上是一个路由器接收器,它将根据您通过配置指定的条件来路由消息。请在这里查看更多