Skip to content

Instantly share code, notes, and snippets.

@tolitius
Last active January 20, 2016 21:44
Show Gist options
  • Save tolitius/7036d5032aa1a7ea22e3 to your computer and use it in GitHub Desktop.
Save tolitius/7036d5032aa1a7ea22e3 to your computer and use it in GitHub Desktop.
mount: swapping states with values
dev=> (mount/stop)
{:stopped ["#'app.example/nrepl" "#'app.www/nyse-app" "#'app.db/conn"]}
;; swapping nRPEL with 42
dev=> (mount/start-with {#'app.example/nrepl 42})
{:started ["#'app.conf/config" "#'app.db/conn" "#'app.www/nyse-app" "#'app.example/nrepl"]}
dev=> @#'app.example/nrepl
42
;; will stop and rollback the swap
dev=> (mount/stop)
{:stopped ["#'app.www/nyse-app" "#'app.db/conn"]}
dev=>
dev=> (mount/start)
{:started ["#'app.conf/config" "#'app.db/conn" "#'app.www/nyse-app" "#'app.example/nrepl"]}
dev=>
dev=> @#'app.example/nrepl
#clojure.tools.nrepl.server.Server{:server-socket #object[java.net.ServerSocket 0x767522ac "ServerSocket[addr=/0.0.0.0,localport=7878]"], :port 7878, :open-transports #object[clojure.lang.Atom 0x262378a1 {:status :ready, :val #{}}], :transport #object[clojure.tools.nrepl.transport$bencode 0x70e5e4fe "clojure.tools.nrepl.transport$bencode@70e5e4fe"], :greeting nil, :handler #object[clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__2859 0xe9cf788 "clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__2859@e9cf788"], :ss #object[java.net.ServerSocket 0x767522ac "ServerSocket[addr=/0.0.0.0,localport=7878]"]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment