scalatra 2.3 with atmosphere - on atmosphere client disconnect, my app freezes

39 views
Skip to first unread message

Alex Pappas

unread,
Aug 14, 2015, 7:12:01 AM8/14/15
to scalatra-user
Hello all,

I have an simple app that extends the chat application. It seems that something is very wrong though!

The problems I have are two.

1. When I send  a message to a channel e.g. AtmosphereClient.broadcast("/live/events", message) , this message is broadcasted to all the other channels on diferrents url paths.
2. When I have two clients connected in a channel and the one disconects from thw WS then that freezes all my application. On disconnect I don't do anything spcial, just println that the client is disconnected.

Because these are very vasic things I'm not sure on where the problem relays  and I don't see any extra configuration from my side.

Can anyone has similar experience on these problems?
Any help will be very match appreciated.

Alex

P.S. I tried Scalatra 2.4 with atmpsphere but the App doesn't even starts. I get this error:

[main] ERROR o.scalatra.servlet.ScalatraListener - Failed to initialize scalatra application at
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_55]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_55]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_55]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_55]
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_55]
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_55]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_55]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_55]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_55]
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:482) ~[jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:440) ~[jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:402) ~[jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_55]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_55]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_55]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_55]
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_55]
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_55]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_55]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_55]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_55]
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:482) ~[jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:440) ~[jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:402) ~[jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at ScalatraBootstrap.init(ScalatraBootstrap.scala:16) ~[freeswitchop_2.11-0.1.0-SNAPSHOT.jar:na]
at org.scalatra.servlet.ScalatraListener.configureCycleClass(ScalatraListener.scala:67) ~[scalatra_2.11-2.3.0.jar:2.3.0]
at org.scalatra.servlet.ScalatraListener.contextInitialized(ScalatraListener.scala:23) ~[scalatra_2.11-2.3.0.jar:2.3.0]
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:446) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:792) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:296) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1341) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1334) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:744) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:497) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:154) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.Server.start(Server.java:357) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.server.Server.doStart(Server.java:324) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.runner.Runner.run(Runner.java:509) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
at org.eclipse.jetty.runner.Runner.main(Runner.java:557) [jetty-runner-9.2.1.v20140609.jar:9.2.1.v20140609]
2015-08-14 13:21:26.284:WARN:oejuc.AbstractLifeCycle:main: FAILED o.e.j.w.WebAppContext@f4e983a{/,file:/Users/rebel/IdeaProjects/freeswitchop/target/webapp/,STARTING}{file:/Users/rebel/IdeaProjects/freeswitchop/target/webapp/}: java.lang.IncompatibleClassChangeError: Implementing class
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:482)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:440)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:402)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:482)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:440)
at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:402)
at ScalatraBootstrap.init(ScalatraBootstrap.scala:16)
at org.scalatra.servlet.ScalatraListener.configureCycleClass(ScalatraListener.scala:67)
at org.scalatra.servlet.ScalatraListener.contextInitialized(ScalatraListener.scala:23)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:446)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:792)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:296)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1341)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1334)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:744)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:497)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:154)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:357)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)
at org.eclipse.jetty.server.Server.doStart(Server.java:324)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.runner.Runner.run(Runner.java:509)
at org.eclipse.jetty.runner.Runner.main(Runner.java:557)
2015-08-14 13:21:26.287:WARN:oejuc.AbstractLifeCycle:main: FAILED org.eclipse.jetty.server.handler.ContextHandlerCollection@42882b9d: java.lang.IncompatibleClassChangeError: Implementing class
java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(Web
Reply all
Reply to author
Forward
0 new messages