main.clj 845 B

123456789101112131415161718192021222324252627282930313233
  1. (ns attendant.main
  2. (:require
  3. [com.stuartsierra.component :as component]
  4. [attendant.server :as server]
  5. [attendant.nrepl-component :as nrepl])
  6. (:gen-class))
  7. (def port 2424)
  8. (def nrepl-port 7288)
  9. (defonce system
  10. (atom nil))
  11. (defn main-system [& {:keys [dev]}]
  12. (component/system-map
  13. :server (server/map->Server {:port port
  14. :dir "./files"
  15. :dev dev})
  16. :nrepl (nrepl/map->NreplServer {:port nrepl-port})))
  17. (defn -main []
  18. (println "starting main system")
  19. (reset!
  20. system
  21. (component/start
  22. (main-system))))
  23. (comment
  24. "to restart the server component in-flight; presumably to update the middleware:"
  25. (swap! system assoc :server (component/stop (:server @system)))
  26. (swap! system assoc :server (component/start (server/map->Server {:port port}))))