Java/Scala关闭挂钩-noclassdeffounderror

Java/Scala关闭挂钩-noclassdeffounderror,scala,shutdown-hook,Scala,Shutdown Hook,我有一个多线程的Scala应用程序,还有一个shutdown钩子,它调用对象上的shutdown()方法。不幸的是,这似乎不可靠。很多时候,它无法处理SIGINT,并在匿名函数上抛出NoClassDefFoundError 如何使这个关闭处理程序更健壮?一个建议:与其直接注册shutdown()钩子,不如创建一个ShutdownManager对象,让它注册一个shutdown()钩子。您的应用程序对象将自己添加到ShutdownManager,然后可以使用trait或通过函数对象调用某个应用程序

我有一个多线程的Scala应用程序,还有一个shutdown钩子,它调用对象上的shutdown()方法。不幸的是,这似乎不可靠。很多时候,它无法处理SIGINT,并在匿名函数上抛出NoClassDefFoundError


如何使这个关闭处理程序更健壮?

一个建议:与其直接注册
shutdown()
钩子,不如创建一个
ShutdownManager
对象,让它注册一个
shutdown()
钩子。您的应用程序对象将自己添加到
ShutdownManager
,然后可以使用trait或通过函数对象调用某个应用程序对象shutdown方法。

预加载钩子需要的所有类:

Class.forName(“YourObject”)或Class clasz=YourObject.Class