From 3978fda02a60fbd4588395e8d6669520db8902a6 Mon Sep 17 00:00:00 2001 From: gered Date: Wed, 29 Jun 2016 09:50:41 -0400 Subject: [PATCH] some start/stop web adjustments. ensure shutdown-server is run on close note that using addShutdownHook like this will not work in a REPL or even using `lein run`, though for the latter `lein trampoline run` will work instead --- src/mtgcoll/core.clj | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/src/mtgcoll/core.clj b/src/mtgcoll/core.clj index 6251a87..8fcfd97 100644 --- a/src/mtgcoll/core.clj +++ b/src/mtgcoll/core.clj @@ -40,8 +40,11 @@ (defn shutdown [] (log/info "Shutting down ...") + (views/shutdown!) - (sente/init!)) + (sente/shutdown!) + + (log/info "Application stopped.")) (defn wrap-env-middleware [handler] @@ -61,16 +64,23 @@ (sente/wrap-sente "/chsk") (wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false)))) -(defn run-server +(defn start-server! [] (init) - (immutant/run #'handler {:port 8080})) + (immutant/run + #'handler + (merge + {:port 8080 + :host "localhost" + :path "/" + :virtual-host nil + :dispatch? true} + (config/get :web)))) -(defn stop-server +(defn stop-server! [] - (immutant/stop) - (shutdown)) - + (if (immutant/stop) + (shutdown))) (defn -main [& args] @@ -80,7 +90,9 @@ (db/verify-connection) (case action :web - (run-server) + (do + (start-server!) + (.addShutdownHook (Runtime/getRuntime) (Thread. ^Runnable stop-server!))) :setup-db (db/initialize-database!)