Skip to content

Instantly share code, notes, and snippets.

@cenxinc
Last active August 29, 2015 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cenxinc/075d7b1a856765b2f8c6 to your computer and use it in GitHub Desktop.
Save cenxinc/075d7b1a856765b2f8c6 to your computer and use it in GitHub Desktop.
Send code:
(defn- start-send-service
"Listen for messages to send over a channel"
[channel resp-queue]
(thread (loop []
(when-let [msg (.take resp-queue)]
(when-not (= msg ::terminate)
(iasync/send! channel msg)
(recur))))
(log/info (format "Terminated response loop for channel with %d messages queued" (.size resp-queue)))))
Stacktrace:
09:52:37,148 INFO [stdout] (default task-53) 2015-Mar-02 09:52:37 -0500 Thomass-MacBook-Pro-2.local INFO [cenx.mercury.servers.websocket] - Opening new HTTP stream
09:52:38,411 WARN [org.projectodd.wunderboss.web.async] (async-thread-macro-8) NOTE: HTTP stream sends are synchronous in WildFly 8.2.0.Final. Use 9.0.0.Alpha1 or higher to have asynchronous sends.
09:53:08,623 INFO [stdout] (async-thread-macro-8) 2015-Mar-02 09:53:08 -0500 Thomass-MacBook-Pro-2.local INFO [cenx.mercury.servers.websocket] - Closing async connection [stream] Code: , Reason:
09:53:08,626 ERROR [stderr] (async-thread-macro-8) java.io.IOException: UT010029: Stream is closed
09:53:08,626 ERROR [stderr] (async-thread-macro-8) at io.undertow.servlet.spec.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:136)
09:53:08,626 ERROR [stderr] (async-thread-macro-8) at io.undertow.servlet.spec.ServletOutputStreamImpl.write(ServletOutputStreamImpl.java:128)
09:53:08,626 ERROR [stderr] (async-thread-macro-8) at org.projectodd.wunderboss.web.async.OutputStreamHttpChannel.doSend(OutputStreamHttpChannel.java:150)
09:53:08,626 ERROR [stderr] (async-thread-macro-8) at org.projectodd.wunderboss.web.async.OutputStreamHttpChannel.send(OutputStreamHttpChannel.java:97)
09:53:08,626 ERROR [stderr] (async-thread-macro-8) at org.projectodd.wunderboss.web.async.ServletHttpChannel.enqueue(ServletHttpChannel.java:92)
09:53:08,626 ERROR [stderr] (async-thread-macro-8) at org.projectodd.wunderboss.web.async.OutputStreamHttpChannel.send(OutputStreamHttpChannel.java:91)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at immutant.web.async$fn__5824.invoke(async.clj:82)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at immutant.web.async$fn__5792$G__5759__5805.invoke(async.clj:32)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at immutant.web.async$fn__5824.invoke(async.clj:74)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at immutant.web.async$fn__5792$G__5759__5805.invoke(async.clj:32)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at cenx.mercury.servers.websocket$start_send_service$fn__288.invoke(websocket.clj:100)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at clojure.core.async$thread_call$fn__4019.invoke(async.clj:405)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at clojure.lang.AFn.run(AFn.java:22)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
09:53:08,627 ERROR [stderr] (async-thread-macro-8) at java.lang.Thread.run(Thread.java:745)
09:53:08,628 ERROR [stderr] (async-thread-macro-8) 2015-Mar-02 09:53:08 -0500 Thomass-MacBook-Pro-2.local ERROR [cenx.mercury.servers.websocket] - An error occurred on an async channel [stream] java.io.IOException: UT010029: Stream is closed
09:53:08,629 INFO [stdout] (async-thread-macro-8) 2015-Mar-02 09:53:08 -0500 Thomass-MacBook-Pro-2.local INFO [cenx.mercury.servers.websocket] - Closing async connection [stream] Code: 0, Reason: Closing async channel due to error: java.io.IOException: UT010029: Stream is closed
09:53:08,630 INFO [stdout] (async-thread-macro-8) 2015-Mar-02 09:53:08 -0500 Thomass-MacBook-Pro-2.local INFO [cenx.mercury.servers.websocket] - Terminated response loop for channel with 1 messages queued
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment