Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring云流发送到Kafka错误控制处理_Java_Apache Kafka_Spring Cloud Stream - Fatal编程技术网

Java Spring云流发送到Kafka错误控制处理

Java Spring云流发送到Kafka错误控制处理,java,apache-kafka,spring-cloud-stream,Java,Apache Kafka,Spring Cloud Stream,如何捕捉写入卡夫卡主题的错误 import org.springframework.cloud.stream.annotation.EnableBinding; import org.springframework.cloud.stream.annotation.StreamListener; import org.springframework.cloud.stream.messaging.Processor; import org.springframework.messaging.Mess

如何捕捉写入卡夫卡主题的错误

import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.annotation.StreamListener;
import org.springframework.cloud.stream.messaging.Processor;
import org.springframework.messaging.Message;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Component;

import javax.xml.bind.JAXBException;

@Component
@EnableBinding(Processor.class)
public class Parser {

    @StreamListener(Processor.INPUT)
    @SendTo(Processor.OUTPUT)
    public String process(Message<?> input) {

        // do smth

        // how to catch an error if sending message to 'output' topic fails
    }

}

接下来呢?有什么例子吗?扩展一些绑定impl,添加一些AOP魔术?

我认为您需要的是注册一个
KafkaProducerListener
,它处理您案例中的错误场景,并在应用程序中作为bean提供

欲了解更多关于卡夫卡的信息,请访问


另外,请注意,通常故障消息将在通道名为
error
error通道上可用。所有错误消息都会在您拥有配置错误通道的
目的地
名称后发布:
spring.cloud.stream.bindings.error.destination
我认为您需要注册一个
KafkaProducerListener
,它在您的案例中处理错误场景,并在您的案例中作为bean提供应用程序

欲了解更多关于卡夫卡的信息,请访问


另外,请注意,通常故障消息将在通道名为
error
error通道上可用。一旦您拥有配置错误通道的
目的地
名称:
spring.cloud.stream.bindings.error.destination

的权限,所有错误消息都将发布。感谢您的输入。我真的希望我的目标可以通过SpringCloudStream实现。你找到使用SpringCloudStream的解决方案了吗?关于错误处理的文档很少,令人惊讶的是,我已经在配置中设置了目标错误通道,但没有向其发布错误。您好,这里正在解决这个问题:谢谢您的输入。我真的希望我的目标可以通过SpringCloudStream实现。你找到使用SpringCloudStream的解决方案了吗?关于错误处理的文档非常少。令人惊讶的是,我在配置中设置了目标错误通道,但没有向其发布错误。您好,这里正在解决这一问题:
spring.cloud.stream.kafka.bindings.output.producer.sync=true