2012-07-05 73 views
1

我有一個多線程的Scala應用和我有一個關閉掛鉤調用的對象上的shutdown()方法。不幸的是,這似乎並不可靠。很多時候,它不能處理SIGINT並拋出的一個匿名函數的NoClassDefFoundError。的Java/Scala的關閉掛鉤-noclassdeffounderror

如何使這個停機處理更穩健?

回答

1

一個建議:而不是直接註冊shutdown()鉤子,創建一個ShutdownManager對象,並讓它註冊一個shutdown()掛鉤。你的應用程序對象本身添加到ShutdownManager然後可以調用一些應用對象停止方法,或者使用一個性狀或通過函數對象。

0

預載的所有類的鉤需要用任一:

的Class.forName( 「YourObject」)或類clasz = YourObject.class