我的clojure应用程序的入口点是-main,但有一个函数在应用程序退出时调用吗?当我的Heroku dyno宕机时,我需要关闭一些连接,但无法弄清楚在哪里或如何做到这一点。
答案 0 :(得分:3)
正如Diego Basch所说,使用JVM关闭钩子。
这是我在需要时通常会这样做的事情:
(defn -main
[& args]
((start ...)
(.. (Runtime/getRuntime) (addShutdownHook (proxy [Thread] []
(run []
(stop ...)))))))