Previous agent-restart didn't work as expected. Using agent-mode instead.

This commit is contained in:
Alexander K. Hudek 2014-12-08 01:40:03 -05:00
parent 8a0063040f
commit ff20442d0f
3 changed files with 6 additions and 5 deletions

View file

@ -1,10 +1,10 @@
(defproject net.thegeez/clj-browserchannel-jetty-adapter "0.0.4"
(defproject net.thegeez/clj-browserchannel-jetty-adapter "0.0.5"
:description "Jetty async adapter for BrowserChannel"
:url ""
:dependencies [[ring/ring-core "1.3.1"]
[ring/ring-servlet "1.3.1"]
[org.eclipse.jetty/jetty-server "8.1.16.v20140903"];; includes ssl
[net.thegeez/clj-browserchannel-server "0.0.8"]]
[net.thegeez/clj-browserchannel-server "0.0.9"]]
:profiles {:provided
{:dependencies
[[org.clojure/clojure "1.6.0"]]}})

View file

@ -1,4 +1,4 @@
(defproject net.thegeez/clj-browserchannel-server "0.0.8"
(defproject net.thegeez/clj-browserchannel-server "0.0.9"
:description "BrowserChannel server implementation in Clojure"
:dependencies [[ring/ring-core "1.3.1"]
[org.clojure/data.json "0.2.5"]]

View file

@ -133,8 +133,7 @@
"Prints the error and tries to restart the agent."
[id]
(fn [ag ^Exception e]
(println "ERROR:" id "agent threw" e (.getMessage e))
(restart-agent ag @ag)))
(println "ERROR:" id "agent threw" e (.getMessage e))))
;;;;;; end of utils
@ -145,6 +144,7 @@
;; event: :map | :close
(def listeners-agent (agent {}))
(set-error-handler! listeners-agent (agent-error-handler-fn "listener"))
(set-error-mode! listeners-agent :continue)
(defn add-listener [session-id event-key f]
@ -517,6 +517,7 @@
refresh-session-timeout)
session-agent (agent session)]
(set-error-handler! session-agent (agent-error-handler-fn (str "session-" (:id session))))
(set-error-mode! session-agent :continue)
(swap! sessions assoc id session-agent)
(when-let [notify (:on-session options)]
(notify id req))