Cleaned up shutdown hook code and increased readability

This commit is contained in:
Viktor Klang 2010-10-29 16:11:43 +02:00
parent 2975192642
commit 0906bb5d3f

View file

@ -89,31 +89,27 @@ object Actor extends Logging {
private[akka] lazy val shutdownHook = {
val hook = new Runnable {
override def run {
log.info("Running shutdown hook to do a cleanup of registered components.")
// Shutdown HawtDispatch GlobalQueue
log.info("Shutting down Hawt Dispatch global queue")
org.fusesource.hawtdispatch.ScalaDispatch.globalQueue.asInstanceOf[org.fusesource.hawtdispatch.internal.GlobalDispatchQueue].shutdown
// Clear Thread.subclassAudits
// Clear Thread.subclassAudits
log.info("Clearing subclass audits")
val tf = classOf[java.lang.Thread].getDeclaredField("subclassAudits")
tf.setAccessible(true)
val subclassAudits = tf.get(null).asInstanceOf[java.util.Map[_,_]]
subclassAudits.synchronized {subclassAudits.clear}
// Clear and reset j.u.l.Level.known (due to Configgy)
val lf = classOf[java.util.logging.Level].getDeclaredField("known")
log.info("Removing Configgy-installed log levels")
import java.util.logging.Level
val lf = classOf[Level].getDeclaredField("known")
lf.setAccessible(true)
val known = lf.get(null).asInstanceOf[java.util.ArrayList[java.util.logging.Level]]
val known = lf.get(null).asInstanceOf[java.util.ArrayList[Level]]
known.synchronized {
known.clear
known.add(java.util.logging.Level.OFF)
known.add(java.util.logging.Level.SEVERE)
known.add(java.util.logging.Level.WARNING)
known.add(java.util.logging.Level.INFO)
known.add(java.util.logging.Level.CONFIG)
known.add(java.util.logging.Level.FINE)
known.add(java.util.logging.Level.FINER)
known.add(java.util.logging.Level.FINEST)
known.add(java.util.logging.Level.ALL)
List(Level.OFF,Level.SEVERE,Level.WARNING,Level.INFO,Level.CONFIG,
Level.FINE,Level.FINER,Level.FINEST,Level.ALL) foreach known.add
}
}
}