相关疑难解决方法(0)

如何在Java中优雅地处理SIGKILL信号

当程序收到kill信号时,你如何处理清理?

例如,我连接的应用程序需要任何第三方应用程序(我的应用程序)finish在注销时发送命令.finish当我的应用程序被摧毁时,发送该命令的最佳发音是kill -9什么?

编辑1:无法捕获kill -9.谢谢你们纠正我.

编辑2:我想这种情况是当一个人调用kill时与ctrl-c相同

java sigkill

106
推荐指数
5
解决办法
9万
查看次数

使用UncaughtExceptionHandler重新启动或关闭流的正确方法

我有一个带有以下驱动程序代码的流应用程序,用于实时消息转换.

String topicName = ...
KStreamBuilder builder = new KStreamBuilder();
KStream<String, String> source = builder.stream(topicName);

source.transform(() -> new MyTransformer()).to(...);

KafkaStreams streams = new KafkaStreams(builder, appConfig);
streams.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    public void uncaughtException(Thread t, Throwable e) {
        logger.error("UncaughtExceptionHandler " + e.getMessage());
        System.exit(0);
    }
});


streams.cleanUp();
streams.start();

Runtime.getRuntime().addShutdownHook(new  Thread(streams::close));
Run Code Online (Sandbox Code Playgroud)

执行几分钟后,应用程序抛出以下异常,然后不进行流.

[2017-02-22 14:24:35,139] ERROR [StreamThread-14] User provided listener org.apache.kafka.streams.processor.internals.StreamThread$1 for group TRANSFORMATION-APP failed on partition assignment (org.apache.kafka.clients.consumer.internals.ConsumerCoordinator)
org.apache.kafka.streams.errors.ProcessorStateException: task [0_11] Error while creating the state manager
    at org.apache.kafka.streams.processor.internals.AbstractTask.<init>(AbstractTask.java:72)
    at org.apache.kafka.streams.processor.internals.StreamTask.<init>(StreamTask.java:89)
    at org.apache.kafka.streams.processor.internals.StreamThread.createStreamTask(StreamThread.java:633)
    at org.apache.kafka.streams.processor.internals.StreamThread.addStreamTasks(StreamThread.java:660) …
Run Code Online (Sandbox Code Playgroud)

apache-kafka-streams

7
推荐指数
1
解决办法
4219
查看次数

标签 统计

apache-kafka-streams ×1

java ×1

sigkill ×1