diff --git a/src/main/scala/gitbucket/core/servlet/InitializeListener.scala b/src/main/scala/gitbucket/core/servlet/InitializeListener.scala index 5307ed4..94dfc81 100644 --- a/src/main/scala/gitbucket/core/servlet/InitializeListener.scala +++ b/src/main/scala/gitbucket/core/servlet/InitializeListener.scala @@ -28,6 +28,20 @@ private val logger = LoggerFactory.getLogger(classOf[InitializeListener]) + // ActorSystem for Quartz scheduler + private val system = ActorSystem("job", ConfigFactory.parseString( + """ + |akka { + | quartz { + | schedules { + | Daily { + | expression = "0 0 0 * * ?" + | } + | } + | } + |} + """.stripMargin)) + override def contextInitialized(event: ServletContextEvent): Unit = { val dataDir = event.getServletContext.getInitParameter("gitbucket.home") if(dataDir != null){ @@ -98,25 +112,16 @@ } // Start Quartz scheduler - val system = ActorSystem("job", ConfigFactory.parseString( - """ - |akka { - | quartz { - | schedules { - | Daily { - | expression = "0 0 0 * * ?" - | } - | } - | } - |} - """.stripMargin)) - val scheduler = QuartzSchedulerExtension(system) scheduler.schedule("Daily", system.actorOf(Props[DeleteOldActivityActor]), "DeleteOldActivity") } + + override def contextDestroyed(event: ServletContextEvent): Unit = { + // Shutdown Quartz scheduler + system.terminate() // Shutdown plugins PluginRegistry.shutdown(event.getServletContext, loadSystemSettings()) // Close datasource