diff --git a/README.md b/README.md index e13546e..feadf3a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -0;95;0cGitBucket [![Gitter chat](https://badges.gitter.im/gitbucket/gitbucket.png)](https://gitter.im/gitbucket/gitbucket) [![Build Status](https://travis-ci.org/gitbucket/gitbucket.svg?branch=master)](https://travis-ci.org/gitbucket/gitbucket) +GitBucket [![Gitter chat](https://badges.gitter.im/gitbucket/gitbucket.png)](https://gitter.im/gitbucket/gitbucket) [![Build Status](https://travis-ci.org/gitbucket/gitbucket.svg?branch=master)](https://travis-ci.org/gitbucket/gitbucket) ========= GitBucket is a Git web platform powered by Scala offering: diff --git a/src/main/java/JettyLauncher.java b/src/main/java/JettyLauncher.java index f43c244..1ee2168 100644 --- a/src/main/java/JettyLauncher.java +++ b/src/main/java/JettyLauncher.java @@ -1,6 +1,8 @@ import org.eclipse.jetty.server.Connector; +import org.eclipse.jetty.server.Handler; import org.eclipse.jetty.server.HttpConnectionFactory; import org.eclipse.jetty.server.Server; +import org.eclipse.jetty.server.handler.StatisticsHandler; import org.eclipse.jetty.webapp.WebAppContext; import java.io.File; @@ -102,7 +104,9 @@ context.setInitParameter("org.scalatra.ForceHttps", "true"); } - server.setHandler(context); + Handler handler = addStatisticsHandler(context); + + server.setHandler(handler); server.setStopAtShutdown(true); server.setStopTimeout(7_000); server.start(); @@ -131,4 +135,12 @@ } dir.delete(); } + + private static Handler addStatisticsHandler(Handler handler) { + // The graceful shutdown is implemented via the statistics handler. + // See the following: https://bugs.eclipse.org/bugs/show_bug.cgi?id=420142 + final StatisticsHandler statisticsHandler = new StatisticsHandler(); + statisticsHandler.setHandler(handler); + return statisticsHandler; + } }