美文网首页
利用钩子优雅关停kafka

利用钩子优雅关停kafka

作者: cgw丶 | 来源:发表于2018-02-13 13:33 被阅读0次

背景

利用kafka进行消息生产和消费,生产线程或消费线程在tomcat关闭的时候无法优雅的停止,一定要强制退出才行。很不体面。

Runtime.addShutdownHook解释

如果你想在jvm关闭的时候进行内存清理、对象销毁等操作,或者仅仅想起个线程然后这个线程不会退出,你可以使用Runtime.addShutdownHook。

这个方法的作用就是在JVM中增加一个关闭的钩子。当程序正常退出、系统调用 System.exit方法或者虚拟机被关闭时才会执行系统中已经设置的所有钩子,当系统执行完这些钩子后,JVM才会关闭。所谓钩子,就是一个已初始化但并不启动的线程。JVM退出通常通过两种事件。

  • 程序正常退出,例如最后一个非守护进程退出、使用System.exit()退出等
  • 程序异常退出,例如使用Ctrl+C触发的中断、用户退出或系统关闭等系统事件等 该方法的说明如下,详细说明参见官方文档
void java.lang.Runtime.addShutdownHook(Thread hook)
Parameters:
hook - An initialized but unstarted Thread object
Throws:
IllegalArgumentException - If the specified hook has already been registered, or if it can be determined that the hook is already running or has already been run
IllegalStateException - If the virtual machine is already in the process of shutting down
SecurityException - If a security manager is present and it denies RuntimePermission("shutdownHooks")

kafka代码示例

在start的时候加个钩子即可

Runtime.getRuntime().addShutdownHook(new Thread() {

                @Override
                public void run() {
                    KafkaConsumer.this.close();
                }
            });

相关文章

  • 利用钩子优雅关停kafka

    背景 利用kafka进行消息生产和消费,生产线程或消费线程在tomcat关闭的时候无法优雅的停止,一定要强制退出才...

  • 利用git 的钩子拦截有问题的代码

    利用git 的钩子拦截有问题的代码通过git 提供的钩子功能,保证有问题的代码绝对不会被提交 Git 提供多种钩子...

  • kafka 优雅实践

    本文分别从生产端和消费端分别说明 1.生产端优化 生产端通过如下提高并发和可靠性 设置大缓冲区100M 缓冲区延迟...

  • jenkins-流水线【4】项目回滚

    前面利用gitlab钩子触发push 动作,通知jenkins 分配salve节点执行 构建java项目,利用an...

  • 基于 docker 的 kafka 集群与 kafka mana

    kafka 集群 最近在研究利用 kafka 集群作为消息队列,以提高消息的吞吐量,在测试过程中,利用 docke...

  • 动画组件

    用vue自带的 实现过渡效果 利用 CSS 过渡或者动画来实现 利用 JavaScript 的钩子函数...

  • 动画钩子函数

    如果想要实现自定义动画,此时就要用到 动画钩子函数 利用钩子函数实现了一个小球的动画:

  • (转)shouldComponentUpdate 钩子理解

    # [react】利用shouldComponentUpdate钩子函数优化react性能以及引入immutabl...

  • Java回调

    回调callback 回调又称钩子函数 (hook), 模板方法, 利用对象的多态特性, 先定义函数结构, 再利用...

  • vc++实现监控子进程,自动关闭弹出的窗口

    核心原理,利用 SetWinEventHook 钩子监测窗口创建事件,然后用 PostMessge 发消息关闭它。...

网友评论

      本文标题:利用钩子优雅关停kafka

      本文链接:https://www.haomeiwen.com/subject/xbyjtftx.html