shutdown-hook

    5热度

    4回答

    我正在使用已获得许可的API,该API具有从许可证服务器获取/释放许可证对象的方法,该许可证服务器具有有限数量的许可证。在我的应用程序开始时,我调用获取许可证的方法,但是我想确保即使程序突然终止/崩溃(异常,SIGTERM等),也会释放该许可证。关机挂钩是解决此问题的最佳方法吗?

    5热度

    2回答

    如果在java中执行关闭钩子期间引发未捕获的异常,请立即退出jvm而不运行剩下的注册关闭钩子(如果有的话) ?从的javadoc: 捕获的异常在关闭挂钩处理,就像任何其他 线程,通过调用线程的线程组 对象的uncaughtException方法。此方法的默认实现将 异常的堆栈跟踪打印到System.err并终止该线程; 它不会导致虚拟机退出或暂停。 好像其他关闭挂钩应该运行... 作为后续行动的问

    6热度

    2回答

    我有一个专门的记录器类,它使用java.util.logging.Logger类。我希望能够在另一个类的关闭钩子中使用这个记录器。但是,它似乎不记录在关机。从我读到的内容来看,可能已经有一个关闭钩子为记录器本身激活而导致问题。 我该如何得到这个工作?理想情况下,我希望在日志文件中可以看到,当进程终止时,我确实执行了关闭挂钩。

    1热度

    2回答

    如何在程序退出时以编程方式强制关闭程序。 我已经添加了关闭挂钩,它调用System.exit(0),但它似乎有执行该问题的问题。即使Jframe已关闭并执行了关闭挂钩,javaw.exe进程仍会在内存中运行。 此外,当我手动关闭运行该程序的批处理文件时,Windows将引发强制关闭消息。 image:http://i.imgur.com/gy57OEV.png

    -2热度

    1回答

    我有一个简单的JUnit测试,它由Maven通过由@Test注释标记的方法运行。我想将关机挂钩放入该测试中,因为如果用户点击CTRL-C,我想打印一些测试结果。我以下几行代码: @Test public void runTest() { Thread shutdownHook = new Thread() { @Override public void

    8热度

    3回答

    我试图让一个关机挂钩在我的Ubuntu服务器上工作,但是我似乎遇到了多个线程的问题。使用基本的ShutdownHook,当我使用kill <PID>杀死进程时,下面的代码会起作用,这意味着关闭行为被激活。 public static void main(String[] args) { ShutdownHook shutDown = new ShutdownHook(); sh

    0热度

    1回答

    大多数服务器如Jetty或Weblogic都提供某种机制来通过呼叫启动或关闭服务器(有时超过jmx)。可以始终保持从主运行的东西: public static void main(String args[]) { try { Setup Spring context..... Object lock = new Object(); synchronized

    -2热度

    5回答

    我想将系统关机时间写入一个txt文件。我正在使用shutdownhook线程。 我已经写了线程的run方法中的文件写入机制。但它不工作。这是我的代码.. public class JVMShutdownHookTest { public static void main(String[] args) { JVMShutdownHook jvmShutdownHook = new

    0热度

    1回答

    我有一个以nohup命令启动的java应用程序。 现在停止命令只是一个杀死-15的应用程序。这个应用程序是一个文件解析和写入数据库应用程序,它有一个关闭hooker拦截kill命令,然后做一些释放资源和清理数据库的东西... 现在,这个清洗过程期望一些输入用户(Y或N)释放每个文件(基本上,对于每个仍在解析的文件,应用程序要求等待其完成或中断该过程并对db执行一些清理)。 nohup命令忽略标准输

    0热度

    1回答

    我想在应用程序关闭时执行某些清理任务。我使用的观察者如下: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActiveNotif:) name:UIApplicationWillResignActiveNotification object:nil]; 当应用程序转到