1
有没有一种方法来监听Spark框架何时关闭,以运行一些清理?例如,我想关闭我的ElasticSearch客户端。Spark框架:听服务器停止
有没有一种方法来监听Spark框架何时关闭,以运行一些清理?例如,我想关闭我的ElasticSearch客户端。Spark框架:听服务器停止
一种方法是使用Runtime.getRuntime().addShutdownHook()
。
这是用于在程序退出时运行代码的通用Java机制。由于Spark Framework Web应用程序只是一个普通的Web应用程序,因此这将起作用。见the Java documentation。
但是,如果使用Unix上的SIGKILL信号或Microsoft Windows上的TerminateProcess调用终止VM进程,该钩子将不会运行。请注意,这适用于在大多数IDE中按下“停止”按钮。