Apache kafka Kafka Streams:异常时如何停止流应用程序

Apache kafka Kafka Streams:异常时如何停止流应用程序,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,版本1.0 假设在低级处理器的标点方法中,创建虚拟文件失败,出现异常。遇到异常时如何停止流应用程序 我想知道是否有方法抛出异常,但无法在init方法上添加throw子句。以下内容需要被try-catch或要抛出的异常包围,并且不能使用任何一个。请建议 Files.createFile(Paths.get(dummyFile)); 您可以将IOException包装成任何未检查的异常,如RuntimeException,或者最好创建自己的异常,从RuntimeException扩展并抛出它。若您

版本1.0

假设在低级处理器的标点方法中,创建虚拟文件失败,出现异常。遇到异常时如何停止流应用程序

我想知道是否有方法抛出异常,但无法在init方法上添加throw子句。以下内容需要被try-catch或要抛出的异常包围,并且不能使用任何一个。请建议

Files.createFile(Paths.get(dummyFile));

您可以将
IOException
包装成任何未检查的异常,如
RuntimeException
,或者最好创建自己的异常,从
RuntimeException
扩展并抛出它。若您的方法对任何传入消息抛出异常,则流将处于死状态,所以在重新启动应用程序之前停止使用消息

您可以更具体地说明文件与kafka流的确切关系。请提供codeWell的示例,它可以用于任何场景,而不仅仅是文件。这完全取决于所使用的方法将抛出什么类型的异常。在上面,我指定了一个方法“createFile”,它可以抛出IOException。现在,我可以捕获IOException并记录错误。但是,如果该异常非常关键,并且如果我们需要停止流,那么如何在低级处理器类中抛出该异常?我无法修改Init或Process方法签名来抛出异常,如果我这样做,那么它就不会识别为方法重写。好的,因此您可以将
IOException
包装到任何未检查的异常中(如
RuntimeException
,或者最好创建自己的将从RuntimeException扩展的异常)并抛出它。若您的方法对任何传入消息抛出异常,则流将处于死状态,所以在重新启动应用程序库之前停止使用消息,这会有所帮助。请将其作为答案发布,以便我可以标记为已回答。