Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.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 如何在未捕获异常处理程序中重新启动kafka流应用程序?_Java_Apache Kafka_Apache Kafka Streams - Fatal编程技术网

Java 如何在未捕获异常处理程序中重新启动kafka流应用程序?

Java 如何在未捕获异常处理程序中重新启动kafka流应用程序?,java,apache-kafka,apache-kafka-streams,Java,Apache Kafka,Apache Kafka Streams,在未捕获异常处理程序中捕获异常后,我想重新启动kafka流应用程序。如何执行此操作 如果您的应用程序(或者更准确地说,您的应用程序的一个实例)达到了Kafka的Streams API中的UncaughtExceptionHandler,那么它已经过了无法返回的点——您无法从那里重新启动应用程序 UEH旨在帮助您优雅地关闭应用程序实例,例如通过编写信息日志消息、向监控设置发送度量等 Kafka Streams应用程序是普通的Java/Scala应用程序,这意味着它们作为JVM进程运行。您可以使用任

在未捕获异常处理程序中捕获异常后,我想重新启动kafka流应用程序。如何执行此操作

如果您的应用程序(或者更准确地说,您的应用程序的一个实例)达到了Kafka的Streams API中的
UncaughtExceptionHandler
,那么它已经过了无法返回的点——您无法从那里重新启动应用程序

UEH旨在帮助您优雅地关闭应用程序实例,例如通过编写信息日志消息、向监控设置发送度量等


Kafka Streams应用程序是普通的Java/Scala应用程序,这意味着它们作为JVM进程运行。您可以使用任何能够管理这些进程的工具来保持它们的正常运行,在出现故障时重新启动它们,等等。现在一个流行的例子是Kubernetes,但更多的老式技术,如
supervisord
也能很好地工作。

只要重新启动Java进程。。。如果您没有更改组/应用程序ID,则会从最新提交的提交中提取偏移量。如果我没有理解,您通常会将此类异常发送到称为“死信队列”的单独主题。这比实现“重试逻辑”要简单@cricket_007我还想重新启动流。。。因为它将持续拾取消息以进行处理卡夫卡仅附加。。。它将从主题的末尾开始不断地处理。您是否总是尝试从主题的开头重新启动?如果是这样,那么将应用程序ID设置为某个UUIDnumber@cricket_007在我的应用程序中,场景是-消息将持续来自上游组件,失败的消息将被捕获并转发到异常主题,日志记录将完成。我面临的问题是,一旦出现异常,我的应用程序就会被阻塞。我尝试了uncaughtexceptionHandler,它现在可以工作了