From 0906bb5d3f32ad9cee508cbe531d03a22f8a10ce Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Fri, 29 Oct 2010 16:11:43 +0200 Subject: [PATCH] Cleaned up shutdown hook code and increased readability --- akka-actor/src/main/scala/actor/Actor.scala | 22 +++++++++------------ 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/akka-actor/src/main/scala/actor/Actor.scala b/akka-actor/src/main/scala/actor/Actor.scala index a2f7d60848..0fe1e9766b 100644 --- a/akka-actor/src/main/scala/actor/Actor.scala +++ b/akka-actor/src/main/scala/actor/Actor.scala @@ -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 } } }