Blazeds runs on any servlet container if i'm not mistaken, and it
seems likely that it will be able to run on appengine too. It will be
interesting if it works.
On Thu, Apr 9, 2009 at 8:49 PM, Clement <clement...@gmail.com> wrote:
> Has anyone tried porting Blazeds into appengine?
> Blazeds runs on any servlet container if i'm not mistaken, and it
> seems likely that it will be able to run on appengine too. It will be
> interesting if it works.
My first rough try failed. Although it seems like a fault at my end.
And from the trace, seems like appengine's container is based on
jetty.
Hope someone could get blazeds running.....Or maybe it has to be
stripped down in order to comply with the whitelist classes.
Could not instantiate listener flex.messaging.HttpFlexSession
java.lang.ClassNotFoundException: flex.messaging.HttpFlexSession
at com.google.apphosting.runtime.security.UserClassLoader$1.run
(UserClassLoader.java:352)
at com.google.apphosting.runtime.security.UserClassLoader$1.run
(UserClassLoader.java:347)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.apphosting.runtime.security.UserClassLoader.findClass
(UserClassLoader.java:347)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl
(UserClassLoader.java:434)
at com.google.apphosting.runtime.security.UserClassLoader.loadClass
(UserClassLoader.java:380)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.mortbay.jetty.handler.ContextHandler.loadClass
(ContextHandler.java:1003)
at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener
(WebXmlConfiguration.java:629)
at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement
(WebXmlConfiguration.java:367)
at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize
(WebXmlConfiguration.java:289)
at org.mortbay.jetty.webapp.WebXmlConfiguration.configure
(WebXmlConfiguration.java:222)
at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp
(WebXmlConfiguration.java:180)
at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1215)
at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
448)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler
(AppVersionHandlerMap.java:190)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler
(AppVersionHandlerMap.java:167)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t
(JettyServletEngineAdapter.java:113)
at com.google.apphosting.runtime.JavaRuntime.handleRequest
(JavaRuntime.java:235)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4547)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4545)
at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
(BlockingApplicationHandler.java:24)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
359)
at com.google.net.rpc.impl.Server$2.run(Server.java:792)
at com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56)
at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
(LocalTraceSpanBuilder.java:489)
at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
at com.google.net.rpc.impl.Server.processRequest(Server.java:340)
at com.google.net.rpc.impl.ServerConnection.messageReceived
(ServerConnection.java:422)
at com.google.net.rpc.impl.RpcConnection.parseMessages
(RpcConnection.java:319)
at com.google.net.rpc.impl.RpcConnection.dataReceived
(RpcConnection.java:290)
at com.google.net.async.Connection.handleReadEvent(Connection.java:
419)
at com.google.net.async.EventDispatcher.processNetworkEvents
(EventDispatcher.java:733)
at com.google.net.async.EventDispatcher.internalLoop
(EventDispatcher.java:207)
at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
101)
at com.google.net.rpc.RpcService.runUntilServerShutdown
(RpcService.java:249)
at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
(JavaRuntime.java:373)
at java.lang.Thread.run(Unknown Source)
First try failed. Seems like appengine is using jetty though.
Could not instantiate listener flex.messaging.HttpFlexSession
java.lang.ClassNotFoundException: flex.messaging.HttpFlexSession
at com.google.apphosting.runtime.security.UserClassLoader$1.run
(UserClassLoader.java:352)
at com.google.apphosting.runtime.security.UserClassLoader$1.run
(UserClassLoader.java:347)
at java.security.AccessController.doPrivileged(Native Method)
at com.google.apphosting.runtime.security.UserClassLoader.findClass
(UserClassLoader.java:347)
at java.lang.ClassLoader.loadClass(Unknown Source)
at
com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl
(UserClassLoader.java:434)
at com.google.apphosting.runtime.security.UserClassLoader.loadClass
(UserClassLoader.java:380)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.mortbay.jetty.handler.ContextHandler.loadClass
(ContextHandler.java:1003)
at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener
(WebXmlConfiguration.java:629)
at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement
(WebXmlConfiguration.java:367)
at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize
(WebXmlConfiguration.java:289)
at org.mortbay.jetty.webapp.WebXmlConfiguration.configure
(WebXmlConfiguration.java:222)
at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp
(WebXmlConfiguration.java:180)
at org.mortbay.jetty.webapp.WebAppContext.startContext
(WebAppContext.java:1215)
at org.mortbay.jetty.handler.ContextHandler.doStart
(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
448)
at org.mortbay.component.AbstractLifeCycle.start
(AbstractLifeCycle.java:40)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler
(AppVersionHandlerMap.java:190)
at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler
(AppVersionHandlerMap.java:167)
at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t
(JettyServletEngineAdapter.java:113)
at com.google.apphosting.runtime.JavaRuntime.handleRequest
(JavaRuntime.java:235)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4547)
at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:4545)
at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
(BlockingApplicationHandler.java:24)
at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
359)
at com.google.net.rpc.impl.Server$2.run(Server.java:792)
at com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56)
at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
(LocalTraceSpanBuilder.java:489)
at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
at com.google.net.rpc.impl.Server.processRequest(Server.java:340)
at com.google.net.rpc.impl.ServerConnection.messageReceived
(ServerConnection.java:422)
at com.google.net.rpc.impl.RpcConnection.parseMessages
(RpcConnection.java:319)
at com.google.net.rpc.impl.RpcConnection.dataReceived
(RpcConnection.java:290)
at com.google.net.async.Connection.handleReadEvent(Connection.java:
419)
at com.google.net.async.EventDispatcher.processNetworkEvents
(EventDispatcher.java:733)
at com.google.net.async.EventDispatcher.internalLoop
(EventDispatcher.java:207)
at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
101)
at com.google.net.rpc.RpcService.runUntilServerShutdown
(RpcService.java:249)
at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
(JavaRuntime.java:373)
at java.lang.Thread.run(Unknown Source)
So i added: <sessions-enabled>true</sessions-enabled> to my appengine-
web.xml
so i didn't get any error having to do with sessions...
but...
**** MessageBrokerServlet failed to initialize due to runtime
exception: Error: java.lang.NoClassDefFoundError:
java.lang.management.ManagementFactory is a restricted class. Please
see the Google App Engine developer's guide for more details.
at
com.google.apphosting.runtime.security.shared.stub.java.lang.management.Man agementFactory.<clinit>
(ManagementFactory.java)
at
is what i get when i try to initialize the servlet that handles the
amf calls.
On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
> My first rough try failed. Although it seems like a fault at my end.
> And from the trace, seems like appengine's container is based on
> jetty.
> Hope someone could get blazeds running.....Or maybe it has to be
> stripped down in order to comply with the whitelist classes.
> Could not instantiate listener flex.messaging.HttpFlexSession
> java.lang.ClassNotFoundException: flex.messaging.HttpFlexSession
> at com.google.apphosting.runtime.security.UserClassLoader$1.run
> (UserClassLoader.java:352)
> at com.google.apphosting.runtime.security.UserClassLoader$1.run
> (UserClassLoader.java:347)
> at java.security.AccessController.doPrivileged(Native Method)
> at com.google.apphosting.runtime.security.UserClassLoader.findClass
> (UserClassLoader.java:347)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at
> com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl
> (UserClassLoader.java:434)
> at com.google.apphosting.runtime.security.UserClassLoader.loadClass
> (UserClassLoader.java:380)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at org.mortbay.jetty.handler.ContextHandler.loadClass
> (ContextHandler.java:1003)
> at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener
> (WebXmlConfiguration.java:629)
> at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement
> (WebXmlConfiguration.java:367)
> at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize
> (WebXmlConfiguration.java:289)
> at org.mortbay.jetty.webapp.WebXmlConfiguration.configure
> (WebXmlConfiguration.java:222)
> at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp
> (WebXmlConfiguration.java:180)
> at org.mortbay.jetty.webapp.WebAppContext.startContext
> (WebAppContext.java:1215)
> at org.mortbay.jetty.handler.ContextHandler.doStart
> (ContextHandler.java:500)
> at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
> 448)
> at org.mortbay.component.AbstractLifeCycle.start
> (AbstractLifeCycle.java:40)
> at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler
> (AppVersionHandlerMap.java:190)
> at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler
> (AppVersionHandlerMap.java:167)
> at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t
> (JettyServletEngineAdapter.java:113)
> at com.google.apphosting.runtime.JavaRuntime.handleRequest
> (JavaRuntime.java:235)
> at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:4547)
> at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:4545)
> at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
> (BlockingApplicationHandler.java:24)
> at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> 359)
> at com.google.net.rpc.impl.Server$2.run(Server.java:792)
> at com.google.tracing.LocalTraceSpanRunnable.run
> (LocalTraceSpanRunnable.java:56)
> at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
> (LocalTraceSpanBuilder.java:489)
> at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
> at com.google.net.rpc.impl.Server.processRequest(Server.java:340)
> at com.google.net.rpc.impl.ServerConnection.messageReceived
> (ServerConnection.java:422)
> at com.google.net.rpc.impl.RpcConnection.parseMessages
> (RpcConnection.java:319)
> at com.google.net.rpc.impl.RpcConnection.dataReceived
> (RpcConnection.java:290)
> at com.google.net.async.Connection.handleReadEvent(Connection.java:
> 419)
> at com.google.net.async.EventDispatcher.processNetworkEvents
> (EventDispatcher.java:733)
> at com.google.net.async.EventDispatcher.internalLoop
> (EventDispatcher.java:207)
> at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> 101)
> at com.google.net.rpc.RpcService.runUntilServerShutdown
> (RpcService.java:249)
> at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
> (JavaRuntime.java:373)
> at java.lang.Thread.run(Unknown Source)
On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com> wrote:
> So i added: <sessions-enabled>true</sessions-enabled> to my appengine-
> web.xml
> so i didn't get any error having to do with sessions...
> but...
> **** MessageBrokerServlet failed to initialize due to runtime
> exception: Error: java.lang.NoClassDefFoundError:
> java.lang.management.ManagementFactory is a restricted class. Please
> see the Google App Engine developer's guide for more details.
> at
> com.google.apphosting.runtime.security.shared.stub.java.lang.management.Man agementFactory.<clinit>
> (ManagementFactory.java)
> at
> is what i get when i try to initialize the servlet that handles the
> amf calls.
> On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
> > My first rough try failed. Although it seems like a fault at my end.
> > And from the trace, seems like appengine's container is based on
> > jetty.
> > Hope someone could get blazeds running.....Or maybe it has to be
> > stripped down in order to comply with the whitelist classes.
> > Could not instantiate listener flex.messaging.HttpFlexSession
> > java.lang.ClassNotFoundException: flex.messaging.HttpFlexSession
> > at com.google.apphosting.runtime.security.UserClassLoader$1.run
> > (UserClassLoader.java:352)
> > at com.google.apphosting.runtime.security.UserClassLoader$1.run
> > (UserClassLoader.java:347)
> > at java.security.AccessController.doPrivileged(Native Method)
> > at
> com.google.apphosting.runtime.security.UserClassLoader.findClass
> > (UserClassLoader.java:347)
> > at java.lang.ClassLoader.loadClass(Unknown Source)
> > at
> > com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl
> > (UserClassLoader.java:434)
> > at
> com.google.apphosting.runtime.security.UserClassLoader.loadClass
> > (UserClassLoader.java:380)
> > at java.lang.ClassLoader.loadClass(Unknown Source)
> > at org.mortbay.jetty.handler.ContextHandler.loadClass
> > (ContextHandler.java:1003)
> > at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener
> > (WebXmlConfiguration.java:629)
> > at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement
> > (WebXmlConfiguration.java:367)
> > at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize
> > (WebXmlConfiguration.java:289)
> > at org.mortbay.jetty.webapp.WebXmlConfiguration.configure
> > (WebXmlConfiguration.java:222)
> > at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp
> > (WebXmlConfiguration.java:180)
> > at org.mortbay.jetty.webapp.WebAppContext.startContext
> > (WebAppContext.java:1215)
> > at org.mortbay.jetty.handler.ContextHandler.doStart
> > (ContextHandler.java:500)
> > at
> org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
> > 448)
> > at org.mortbay.component.AbstractLifeCycle.start
> > (AbstractLifeCycle.java:40)
> > at
> > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler
> > (AppVersionHandlerMap.java:190)
> > at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler
> > (AppVersionHandlerMap.java:167)
> > at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t
> > (JettyServletEngineAdapter.java:113)
> > at com.google.apphosting.runtime.JavaRuntime.handleRequest
> > (JavaRuntime.java:235)
> > at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > $6.handleBlockingRequest(RuntimePb.java:4547)
> > at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > $6.handleBlockingRequest(RuntimePb.java:4545)
> > at
> com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
> > (BlockingApplicationHandler.java:24)
> > at
> com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> > 359)
> > at com.google.net.rpc.impl.Server$2.run(Server.java:792)
> > at com.google.tracing.LocalTraceSpanRunnable.run
> > (LocalTraceSpanRunnable.java:56)
> > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
> > (LocalTraceSpanBuilder.java:489)
> > at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
> > at com.google.net.rpc.impl.Server.processRequest(Server.java:340)
> > at com.google.net.rpc.impl.ServerConnection.messageReceived
> > (ServerConnection.java:422)
> > at com.google.net.rpc.impl.RpcConnection.parseMessages
> > (RpcConnection.java:319)
> > at com.google.net.rpc.impl.RpcConnection.dataReceived
> > (RpcConnection.java:290)
> > at
> com.google.net.async.Connection.handleReadEvent(Connection.java:
> > 419)
> > at com.google.net.async.EventDispatcher.processNetworkEvents
> > (EventDispatcher.java:733)
> > at com.google.net.async.EventDispatcher.internalLoop
> > (EventDispatcher.java:207)
> > at
> com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> > 101)
> > at com.google.net.rpc.RpcService.runUntilServerShutdown
> > (RpcService.java:249)
> > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
> > (JavaRuntime.java:373)
> > at java.lang.Thread.run(Unknown Source)
> On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com> wrote:
> > So i added: <sessions-enabled>true</sessions-enabled> to my appengine-
> > web.xml
> > so i didn't get any error having to do with sessions...
> > but...
> > **** MessageBrokerServlet failed to initialize due to runtime
> > exception: Error: java.lang.NoClassDefFoundError:
> > java.lang.management.ManagementFactory is a restricted class. Please
> > see the Google App Engine developer's guide for more details.
> > at
> > com.google.apphosting.runtime.security.shared.stub.java.lang.management.Man agementFactory.<clinit>
> > (ManagementFactory.java)
> > at
> > is what i get when i try to initialize the servlet that handles the
> > amf calls.
> > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
> > > My first rough try failed. Although it seems like a fault at my end.
> > > And from the trace, seems like appengine's container is based on
> > > jetty.
> > > Hope someone could get blazeds running.....Or maybe it has to be
> > > stripped down in order to comply with the whitelist classes.
> > > Could not instantiate listener flex.messaging.HttpFlexSession
> > > java.lang.ClassNotFoundException: flex.messaging.HttpFlexSession
> > > at com.google.apphosting.runtime.security.UserClassLoader$1.run
> > > (UserClassLoader.java:352)
> > > at com.google.apphosting.runtime.security.UserClassLoader$1.run
> > > (UserClassLoader.java:347)
> > > at java.security.AccessController.doPrivileged(Native Method)
> > > at
> > com.google.apphosting.runtime.security.UserClassLoader.findClass
> > > (UserClassLoader.java:347)
> > > at java.lang.ClassLoader.loadClass(Unknown Source)
> > > at
> > > com.google.apphosting.runtime.security.UserClassLoader.loadClassImpl
> > > (UserClassLoader.java:434)
> > > at
> > com.google.apphosting.runtime.security.UserClassLoader.loadClass
> > > (UserClassLoader.java:380)
> > > at java.lang.ClassLoader.loadClass(Unknown Source)
> > > at org.mortbay.jetty.handler.ContextHandler.loadClass
> > > (ContextHandler.java:1003)
> > > at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener
> > > (WebXmlConfiguration.java:629)
> > > at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement
> > > (WebXmlConfiguration.java:367)
> > > at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize
> > > (WebXmlConfiguration.java:289)
> > > at org.mortbay.jetty.webapp.WebXmlConfiguration.configure
> > > (WebXmlConfiguration.java:222)
> > > at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp
> > > (WebXmlConfiguration.java:180)
> > > at org.mortbay.jetty.webapp.WebAppContext.startContext
> > > (WebAppContext.java:1215)
> > > at org.mortbay.jetty.handler.ContextHandler.doStart
> > > (ContextHandler.java:500)
> > > at
> > org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:
> > > 448)
> > > at org.mortbay.component.AbstractLifeCycle.start
> > > (AbstractLifeCycle.java:40)
> > > at
> > > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler
> > > (AppVersionHandlerMap.java:190)
> > > at
> > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler
> > > (AppVersionHandlerMap.java:167)
> > > at
> > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques t
> > > (JettyServletEngineAdapter.java:113)
> > > at com.google.apphosting.runtime.JavaRuntime.handleRequest
> > > (JavaRuntime.java:235)
> > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:4547)
> > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> > > $6.handleBlockingRequest(RuntimePb.java:4545)
> > > at
> > com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
> > > (BlockingApplicationHandler.java:24)
> > > at
> > com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> > > 359)
> > > at com.google.net.rpc.impl.Server$2.run(Server.java:792)
> > > at com.google.tracing.LocalTraceSpanRunnable.run
> > > (LocalTraceSpanRunnable.java:56)
> > > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
> > > (LocalTraceSpanBuilder.java:489)
> > > at com.google.net.rpc.impl.Server.startRpc(Server.java:748)
> > > at com.google.net.rpc.impl.Server.processRequest(Server.java:340)
> > > at com.google.net.rpc.impl.ServerConnection.messageReceived
> > > (ServerConnection.java:422)
> > > at com.google.net.rpc.impl.RpcConnection.parseMessages
> > > (RpcConnection.java:319)
> > > at com.google.net.rpc.impl.RpcConnection.dataReceived
> > > (RpcConnection.java:290)
> > > at
> > com.google.net.async.Connection.handleReadEvent(Connection.java:
> > > 419)
> > > at com.google.net.async.EventDispatcher.processNetworkEvents
> > > (EventDispatcher.java:733)
> > > at com.google.net.async.EventDispatcher.internalLoop
> > > (EventDispatcher.java:207)
> > > at
> > com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> > > 101)
> > > at com.google.net.rpc.RpcService.runUntilServerShutdown
> > > (RpcService.java:249)
> > > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
> > > (JavaRuntime.java:373)
> > > at java.lang.Thread.run(Unknown Source)
> > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com> wrote:
> > > So i added: <sessions-enabled>true</sessions-enabled> to my appengine-
> > > web.xml
> > > so i didn't get any error having to do with sessions...
> > > but...
> > > **** MessageBrokerServlet failed to initialize due to runtime
> > > exception: Error: java.lang.NoClassDefFoundError:
> > > java.lang.management.ManagementFactory is a restricted class. Please
> > > see the Google App Engine developer's guide for more details.
> > > at
> > > is what i get when i try to initialize the servlet that handles the
> > > amf calls.
> > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
> > > > My first rough try failed. Although it seems like a fault at my end.
> > > > And from the trace, seems like appengine's container is based on
> > > > jetty.
> > > > Hope someone could get blazeds running.....Or maybe it has to be
> > > > stripped down in order to comply with the whitelist classes.
The last time i played with GAE there was a restriction on the server side
in that it had about ten seconds to generate all of it's output before it
got toasted, and then output was dumped to the browser in one hit. I suspect
the time to die has been extended to somewhat, but even so, this still makes
streaming not implementable on GAE.
I understand that streaming would be very useful for real time updates to
flash/flex apps, but is there a way you can restructure your code and use
polling instead?
brett
On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com> wrote:
> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
> appengine-
> > > > web.xml
> > > > so i didn't get any error having to do with sessions...
> > > > but...
> > > > **** MessageBrokerServlet failed to initialize due to runtime
> > > > exception: Error: java.lang.NoClassDefFoundError:
> > > > java.lang.management.ManagementFactory is a restricted class. Please
> > > > see the Google App Engine developer's guide for more details.
> > > > at
> > > > is what i get when i try to initialize the servlet that handles the
> > > > amf calls.
> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
> > > > > My first rough try failed. Although it seems like a fault at my
> end.
> > > > > And from the trace, seems like appengine's container is based on
> > > > > jetty.
> > > > > Hope someone could get blazeds running.....Or maybe it has to be
> > > > > stripped down in order to comply with the whitelist classes.
Yeah my code is agnostic i need to rewrite a little bunch of classes that
taking in charge the remoting stuff to switch to polling mode.
I just hope polling will not be a bottleneck and will not had latency since
it's a multi player game needing refresh a 70 ms.
I'm more stuck for now on Multi-treading because i need it , i can also
refactor to make it single thread but not sure the game can scale with only
on thread managing all the game instances and i need timer task.
So for now i will continue on my tomcat but i would be pleased to port it
on GAE java but i need to have answer to my questions. The game is early
stage too ;)
You gave me response for remoting , thanks for that Brett !
Now i need advice for how managing multi instances games with on thread and
moreover it will be flowded by polling remoting :( ...
Thanks
Luciano
But it would have been nice to change nothing
On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
> The last time i played with GAE there was a restriction on the server side
> in that it had about ten seconds to generate all of it's output before it
> got toasted, and then output was dumped to the browser in one hit. I suspect
> the time to die has been extended to somewhat, but even so, this still makes
> streaming not implementable on GAE.
> I understand that streaming would be very useful for real time updates to
> flash/flex apps, but is there a way you can restructure your code and use
> polling instead?
> brett
> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
> luciano.brous...@gmail.com> wrote:
>> Yes,
>> The AMF remoting is cool and i'm interested by the streaming channel
>> for my own.
>> Thanks.
>> Luciano
>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
>> > Perhaps we could try an alternative.
>> > The main feature i like is the flash remoting (amf). There's a library
>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com> wrote:
>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
>> appengine-
>> > > > web.xml
>> > > > so i didn't get any error having to do with sessions...
>> > > > but...
>> > > > **** MessageBrokerServlet failed to initialize due to runtime
>> > > > exception: Error: java.lang.NoClassDefFoundError:
>> > > > java.lang.management.ManagementFactory is a restricted class. Please
>> > > > see the Google App Engine developer's guide for more details.
>> > > > at
>> > > > is what i get when i try to initialize the servlet that handles the
>> > > > amf calls.
>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
>> > > > > My first rough try failed. Although it seems like a fault at my
>> end.
>> > > > > And from the trace, seems like appengine's container is based on
>> > > > > jetty.
>> > > > > Hope someone could get blazeds running.....Or maybe it has to be
>> > > > > stripped down in order to comply with the whitelist classes.
Luciano,
In the python example apps there was a chat application that relied on ajax
polling. The areas to look at for making communicating between server
instances work is to make sure you are publishing your state to both the
disks (through which ever datastore api you feel comfortable with), but also
publish to the memcache servers. Being ram resident, the memcache servers
are faster to load data from.
brett
On Fri, Apr 10, 2009 at 5:46 PM, Luciano Broussal <
> Yeah my code is agnostic i need to rewrite a little bunch of classes that
> taking in charge the remoting stuff to switch to polling mode.
> I just hope polling will not be a bottleneck and will not had latency
> since it's a multi player game needing refresh a 70 ms.
> I'm more stuck for now on Multi-treading because i need it , i can also
> refactor to make it single thread but not sure the game can scale with only
> on thread managing all the game instances and i need timer task.
> So for now i will continue on my tomcat but i would be pleased to port it
> on GAE java but i need to have answer to my questions. The game is early
> stage too ;)
> You gave me response for remoting , thanks for that Brett !
> Now i need advice for how managing multi instances games with on thread and
> moreover it will be flowded by polling remoting :( ...
> Thanks
> Luciano
> But it would have been nice to change nothing
> On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>> Luciano
>> The last time i played with GAE there was a restriction on the server side
>> in that it had about ten seconds to generate all of it's output before it
>> got toasted, and then output was dumped to the browser in one hit. I suspect
>> the time to die has been extended to somewhat, but even so, this still makes
>> streaming not implementable on GAE.
>> I understand that streaming would be very useful for real time updates to
>> flash/flex apps, but is there a way you can restructure your code and use
>> polling instead?
>> brett
>> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
>> luciano.brous...@gmail.com> wrote:
>>> Yes,
>>> The AMF remoting is cool and i'm interested by the streaming channel
>>> for my own.
>>> Thanks.
>>> Luciano
>>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
>>> > Perhaps we could try an alternative.
>>> > The main feature i like is the flash remoting (amf). There's a library
>>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
>>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com>
>>> wrote:
>>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
>>> appengine-
>>> > > > web.xml
>>> > > > so i didn't get any error having to do with sessions...
>>> > > > but...
>>> > > > **** MessageBrokerServlet failed to initialize due to runtime
>>> > > > exception: Error: java.lang.NoClassDefFoundError:
>>> > > > java.lang.management.ManagementFactory is a restricted class.
>>> Please
>>> > > > see the Google App Engine developer's guide for more details.
>>> > > > at
>>> > > > is what i get when i try to initialize the servlet that handles the
>>> > > > amf calls.
>>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
>>> > > > > My first rough try failed. Although it seems like a fault at my
>>> end.
>>> > > > > And from the trace, seems like appengine's container is based on
>>> > > > > jetty.
>>> > > > > Hope someone could get blazeds running.....Or maybe it has to be
>>> > > > > stripped down in order to comply with the whitelist classes.
> Luciano,
> In the python example apps there was a chat application that relied on ajax
> polling. The areas to look at for making communicating between server
> instances work is to make sure you are publishing your state to both the
> disks (through which ever datastore api you feel comfortable with), but also
> publish to the memcache servers. Being ram resident, the memcache servers
> are faster to load data from.
> brett
> On Fri, Apr 10, 2009 at 5:46 PM, Luciano Broussal <
> luciano.brous...@gmail.com> wrote:
>> Hi Brett,
>> Yeah my code is agnostic i need to rewrite a little bunch of classes that
>> taking in charge the remoting stuff to switch to polling mode.
>> I just hope polling will not be a bottleneck and will not had latency
>> since it's a multi player game needing refresh a 70 ms.
>> I'm more stuck for now on Multi-treading because i need it , i can also
>> refactor to make it single thread but not sure the game can scale with only
>> on thread managing all the game instances and i need timer task.
>> So for now i will continue on my tomcat but i would be pleased to port it
>> on GAE java but i need to have answer to my questions. The game is early
>> stage too ;)
>> You gave me response for remoting , thanks for that Brett !
>> Now i need advice for how managing multi instances games with on thread
>> and moreover it will be flowded by polling remoting :( ...
>> Thanks
>> Luciano
>> But it would have been nice to change nothing
>> On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>>> Luciano
>>> The last time i played with GAE there was a restriction on the server
>>> side in that it had about ten seconds to generate all of it's output before
>>> it got toasted, and then output was dumped to the browser in one hit. I
>>> suspect the time to die has been extended to somewhat, but even so, this
>>> still makes streaming not implementable on GAE.
>>> I understand that streaming would be very useful for real time updates to
>>> flash/flex apps, but is there a way you can restructure your code and use
>>> polling instead?
>>> brett
>>> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
>>> luciano.brous...@gmail.com> wrote:
>>>> Yes,
>>>> The AMF remoting is cool and i'm interested by the streaming channel
>>>> for my own.
>>>> Thanks.
>>>> Luciano
>>>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
>>>> > Perhaps we could try an alternative.
>>>> > The main feature i like is the flash remoting (amf). There's a library
>>>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
>>>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com>
>>>> wrote:
>>>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
>>>> appengine-
>>>> > > > web.xml
>>>> > > > so i didn't get any error having to do with sessions...
>>>> > > > but...
>>>> > > > **** MessageBrokerServlet failed to initialize due to runtime
>>>> > > > exception: Error: java.lang.NoClassDefFoundError:
>>>> > > > java.lang.management.ManagementFactory is a restricted class.
>>>> Please
>>>> > > > see the Google App Engine developer's guide for more details.
>>>> > > > at
>>>> > > > is what i get when i try to initialize the servlet that handles
>>>> the
>>>> > > > amf calls.
>>>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
>>>> > > > > My first rough try failed. Although it seems like a fault at my
>>>> end.
>>>> > > > > And from the trace, seems like appengine's container is based on
>>>> > > > > jetty.
>>>> > > > > Hope someone could get blazeds running.....Or maybe it has to be
>>>> > > > > stripped down in order to comply with the whitelist classes.
Memcache, at it's simplest is just a key value store for strings. Of course,
you can encode object trees into strings, and thus communicate status
between server instances via memcache. Memcache, of course, is
probabilistic, in that what you store may or may not be there when you ask
for it again later...
On Fri, Apr 10, 2009 at 6:28 PM, Luciano Broussal <
> You means with memcache you can manage different chat rooms on severals
> servers like if room it one thread? like clounding programming?
> Thanks for your advices Brett!
> Luciano
> On Fri, Apr 10, 2009 at 9:53 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>> Luciano,
>> In the python example apps there was a chat application that relied on
>> ajax polling. The areas to look at for making communicating between server
>> instances work is to make sure you are publishing your state to both the
>> disks (through which ever datastore api you feel comfortable with), but also
>> publish to the memcache servers. Being ram resident, the memcache servers
>> are faster to load data from.
>> brett
>> On Fri, Apr 10, 2009 at 5:46 PM, Luciano Broussal <
>> luciano.brous...@gmail.com> wrote:
>>> Hi Brett,
>>> Yeah my code is agnostic i need to rewrite a little bunch of classes
>>> that taking in charge the remoting stuff to switch to polling mode.
>>> I just hope polling will not be a bottleneck and will not had latency
>>> since it's a multi player game needing refresh a 70 ms.
>>> I'm more stuck for now on Multi-treading because i need it , i can also
>>> refactor to make it single thread but not sure the game can scale with only
>>> on thread managing all the game instances and i need timer task.
>>> So for now i will continue on my tomcat but i would be pleased to port
>>> it on GAE java but i need to have answer to my questions. The game is early
>>> stage too ;)
>>> You gave me response for remoting , thanks for that Brett !
>>> Now i need advice for how managing multi instances games with on thread
>>> and moreover it will be flowded by polling remoting :( ...
>>> Thanks
>>> Luciano
>>> But it would have been nice to change nothing
>>> On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>>>> Luciano
>>>> The last time i played with GAE there was a restriction on the server
>>>> side in that it had about ten seconds to generate all of it's output before
>>>> it got toasted, and then output was dumped to the browser in one hit. I
>>>> suspect the time to die has been extended to somewhat, but even so, this
>>>> still makes streaming not implementable on GAE.
>>>> I understand that streaming would be very useful for real time updates
>>>> to flash/flex apps, but is there a way you can restructure your code and use
>>>> polling instead?
>>>> brett
>>>> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
>>>> luciano.brous...@gmail.com> wrote:
>>>>> Yes,
>>>>> The AMF remoting is cool and i'm interested by the streaming channel
>>>>> for my own.
>>>>> Thanks.
>>>>> Luciano
>>>>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
>>>>> > Perhaps we could try an alternative.
>>>>> > The main feature i like is the flash remoting (amf). There's a
>>>>> library
>>>>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
>>>>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com>
>>>>> wrote:
>>>>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
>>>>> appengine-
>>>>> > > > web.xml
>>>>> > > > so i didn't get any error having to do with sessions...
>>>>> > > > but...
>>>>> > > > **** MessageBrokerServlet failed to initialize due to runtime
>>>>> > > > exception: Error: java.lang.NoClassDefFoundError:
>>>>> > > > java.lang.management.ManagementFactory is a restricted class.
>>>>> Please
>>>>> > > > see the Google App Engine developer's guide for more details.
>>>>> > > > at
>>>>> > > > is what i get when i try to initialize the servlet that handles
>>>>> the
>>>>> > > > amf calls.
>>>>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
>>>>> > > > > My first rough try failed. Although it seems like a fault at my
>>>>> end.
>>>>> > > > > And from the trace, seems like appengine's container is based
>>>>> on
>>>>> > > > > jetty.
>>>>> > > > > Hope someone could get blazeds running.....Or maybe it has to
>>>>> be
>>>>> > > > > stripped down in order to comply with the whitelist classes.
> Memcache, at it's simplest is just a key value store for strings. Of
> course, you can encode object trees into strings, and thus communicate
> status between server instances via memcache. Memcache, of course, is
> probabilistic, in that what you store may or may not be there when you ask
> for it again later...
> On Fri, Apr 10, 2009 at 6:28 PM, Luciano Broussal <
> luciano.brous...@gmail.com> wrote:
>> HI Brett,
>> You means with memcache you can manage different chat rooms on severals
>> servers like if room it one thread? like clounding programming?
>> Thanks for your advices Brett!
>> Luciano
>> On Fri, Apr 10, 2009 at 9:53 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>>> Luciano,
>>> In the python example apps there was a chat application that relied on
>>> ajax polling. The areas to look at for making communicating between server
>>> instances work is to make sure you are publishing your state to both the
>>> disks (through which ever datastore api you feel comfortable with), but also
>>> publish to the memcache servers. Being ram resident, the memcache servers
>>> are faster to load data from.
>>> brett
>>> On Fri, Apr 10, 2009 at 5:46 PM, Luciano Broussal <
>>> luciano.brous...@gmail.com> wrote:
>>>> Hi Brett,
>>>> Yeah my code is agnostic i need to rewrite a little bunch of classes
>>>> that taking in charge the remoting stuff to switch to polling mode.
>>>> I just hope polling will not be a bottleneck and will not had latency
>>>> since it's a multi player game needing refresh a 70 ms.
>>>> I'm more stuck for now on Multi-treading because i need it , i can also
>>>> refactor to make it single thread but not sure the game can scale with only
>>>> on thread managing all the game instances and i need timer task.
>>>> So for now i will continue on my tomcat but i would be pleased to port
>>>> it on GAE java but i need to have answer to my questions. The game is early
>>>> stage too ;)
>>>> You gave me response for remoting , thanks for that Brett !
>>>> Now i need advice for how managing multi instances games with on thread
>>>> and moreover it will be flowded by polling remoting :( ...
>>>> Thanks
>>>> Luciano
>>>> But it would have been nice to change nothing
>>>> On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>>>>> Luciano
>>>>> The last time i played with GAE there was a restriction on the server
>>>>> side in that it had about ten seconds to generate all of it's output before
>>>>> it got toasted, and then output was dumped to the browser in one hit. I
>>>>> suspect the time to die has been extended to somewhat, but even so, this
>>>>> still makes streaming not implementable on GAE.
>>>>> I understand that streaming would be very useful for real time updates
>>>>> to flash/flex apps, but is there a way you can restructure your code and use
>>>>> polling instead?
>>>>> brett
>>>>> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
>>>>> luciano.brous...@gmail.com> wrote:
>>>>>> Yes,
>>>>>> The AMF remoting is cool and i'm interested by the streaming channel
>>>>>> for my own.
>>>>>> Thanks.
>>>>>> Luciano
>>>>>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
>>>>>> > Perhaps we could try an alternative.
>>>>>> > The main feature i like is the flash remoting (amf). There's a
>>>>>> library
>>>>>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
>>>>>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com>
>>>>>> wrote:
>>>>>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
>>>>>> appengine-
>>>>>> > > > web.xml
>>>>>> > > > so i didn't get any error having to do with sessions...
>>>>>> > > > but...
>>>>>> > > > **** MessageBrokerServlet failed to initialize due to runtime
>>>>>> > > > exception: Error: java.lang.NoClassDefFoundError:
>>>>>> > > > java.lang.management.ManagementFactory is a restricted class.
>>>>>> Please
>>>>>> > > > see the Google App Engine developer's guide for more details.
>>>>>> > > > at
>>>>>> > > > is what i get when i try to initialize the servlet that handles
>>>>>> the
>>>>>> > > > amf calls.
>>>>>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
>>>>>> > > > > My first rough try failed. Although it seems like a fault at
>>>>>> my end.
>>>>>> > > > > And from the trace, seems like appengine's container is based
>>>>>> on
>>>>>> > > > > jetty.
>>>>>> > > > > Hope someone could get blazeds running.....Or maybe it has to
>>>>>> be
>>>>>> > > > > stripped down in order to comply with the whitelist classes.
luciano.brous...@gmail.com> wrote:
> cool a kind of teracota so ? ;)
> but it's container of objects or i can use each instance as a live game
> container ?
> BTW i have to analyze your hint about the chat room in Python GAE you gave
> me.
> Some work forward this week end ;)
> Thanks
> Luciano
> On Fri, Apr 10, 2009 at 10:35 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>> Luciano
>> Memcache, at it's simplest is just a key value store for strings. Of
>> course, you can encode object trees into strings, and thus communicate
>> status between server instances via memcache. Memcache, of course, is
>> probabilistic, in that what you store may or may not be there when you ask
>> for it again later...
>> On Fri, Apr 10, 2009 at 6:28 PM, Luciano Broussal <
>> luciano.brous...@gmail.com> wrote:
>>> HI Brett,
>>> You means with memcache you can manage different chat rooms on severals
>>> servers like if room it one thread? like clounding programming?
>>> Thanks for your advices Brett!
>>> Luciano
>>> On Fri, Apr 10, 2009 at 9:53 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>>>> Luciano,
>>>> In the python example apps there was a chat application that relied on
>>>> ajax polling. The areas to look at for making communicating between server
>>>> instances work is to make sure you are publishing your state to both the
>>>> disks (through which ever datastore api you feel comfortable with), but also
>>>> publish to the memcache servers. Being ram resident, the memcache servers
>>>> are faster to load data from.
>>>> brett
>>>> On Fri, Apr 10, 2009 at 5:46 PM, Luciano Broussal <
>>>> luciano.brous...@gmail.com> wrote:
>>>>> Hi Brett,
>>>>> Yeah my code is agnostic i need to rewrite a little bunch of classes
>>>>> that taking in charge the remoting stuff to switch to polling mode.
>>>>> I just hope polling will not be a bottleneck and will not had latency
>>>>> since it's a multi player game needing refresh a 70 ms.
>>>>> I'm more stuck for now on Multi-treading because i need it , i can also
>>>>> refactor to make it single thread but not sure the game can scale with only
>>>>> on thread managing all the game instances and i need timer task.
>>>>> So for now i will continue on my tomcat but i would be pleased to port
>>>>> it on GAE java but i need to have answer to my questions. The game is early
>>>>> stage too ;)
>>>>> You gave me response for remoting , thanks for that Brett !
>>>>> Now i need advice for how managing multi instances games with on thread
>>>>> and moreover it will be flowded by polling remoting :( ...
>>>>> Thanks
>>>>> Luciano
>>>>> But it would have been nice to change nothing
>>>>> On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
>>>>>> Luciano
>>>>>> The last time i played with GAE there was a restriction on the server
>>>>>> side in that it had about ten seconds to generate all of it's output before
>>>>>> it got toasted, and then output was dumped to the browser in one hit. I
>>>>>> suspect the time to die has been extended to somewhat, but even so, this
>>>>>> still makes streaming not implementable on GAE.
>>>>>> I understand that streaming would be very useful for real time updates
>>>>>> to flash/flex apps, but is there a way you can restructure your code and use
>>>>>> polling instead?
>>>>>> brett
>>>>>> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
>>>>>> luciano.brous...@gmail.com> wrote:
>>>>>>> Yes,
>>>>>>> The AMF remoting is cool and i'm interested by the streaming channel
>>>>>>> for my own.
>>>>>>> Thanks.
>>>>>>> Luciano
>>>>>>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
>>>>>>> > Perhaps we could try an alternative.
>>>>>>> > The main feature i like is the flash remoting (amf). There's a
>>>>>>> library
>>>>>>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
>>>>>>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com>
>>>>>>> wrote:
>>>>>>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
>>>>>>> appengine-
>>>>>>> > > > web.xml
>>>>>>> > > > so i didn't get any error having to do with sessions...
>>>>>>> > > > but...
>>>>>>> > > > **** MessageBrokerServlet failed to initialize due to runtime
>>>>>>> > > > exception: Error: java.lang.NoClassDefFoundError:
>>>>>>> > > > java.lang.management.ManagementFactory is a restricted class.
>>>>>>> Please
>>>>>>> > > > see the Google App Engine developer's guide for more details.
>>>>>>> > > > at
>>>>>>> > > > is what i get when i try to initialize the servlet that handles
>>>>>>> the
>>>>>>> > > > amf calls.
>>>>>>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
>>>>>>> > > > > My first rough try failed. Although it seems like a fault at
>>>>>>> my end.
>>>>>>> > > > > And from the trace, seems like appengine's container is based
>>>>>>> on
>>>>>>> > > > > jetty.
>>>>>>> > > > > Hope someone could get blazeds running.....Or maybe it has to
>>>>>>> be
>>>>>>> > > > > stripped down in order to comply with the whitelist classes.
> On Fri, Apr 10, 2009 at 6:47 PM, Luciano Broussal <
> luciano.brous...@gmail.com> wrote:
> > cool a kind of teracota so ? ;)
> > but it's container of objects or i can use each instance as a live game
> > container ?
> > BTW i have to analyze your hint about the chat room in Python GAE you gave
> > me.
> > Some work forward this week end ;)
> > Thanks
> > Luciano
> > On Fri, Apr 10, 2009 at 10:35 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
> >> Luciano
> >> Memcache, at it's simplest is just a key value store for strings. Of
> >> course, you can encode object trees into strings, and thus communicate
> >> status between server instances via memcache. Memcache, of course, is
> >> probabilistic, in that what you store may or may not be there when you ask
> >> for it again later...
> >> On Fri, Apr 10, 2009 at 6:28 PM, Luciano Broussal <
> >> luciano.brous...@gmail.com> wrote:
> >>> HI Brett,
> >>> You means with memcache you can manage different chat rooms on severals
> >>> servers like if room it one thread? like clounding programming?
> >>> Thanks for your advices Brett!
> >>> Luciano
> >>> On Fri, Apr 10, 2009 at 9:53 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
> >>>> Luciano,
> >>>> In the python example apps there was a chat application that relied on
> >>>> ajax polling. The areas to look at for making communicating between server
> >>>> instances work is to make sure you are publishing your state to both the
> >>>> disks (through which ever datastore api you feel comfortable with), but also
> >>>> publish to the memcache servers. Being ram resident, the memcache servers
> >>>> are faster to load data from.
> >>>> brett
> >>>> On Fri, Apr 10, 2009 at 5:46 PM, Luciano Broussal <
> >>>> luciano.brous...@gmail.com> wrote:
> >>>>> Hi Brett,
> >>>>> Yeah my code is agnostic i need to rewrite a little bunch of classes
> >>>>> that taking in charge the remoting stuff to switch to polling mode.
> >>>>> I just hope polling will not be a bottleneck and will not had latency
> >>>>> since it's a multi player game needing refresh a 70 ms.
> >>>>> I'm more stuck for now on Multi-treading because i need it , i can also
> >>>>> refactor to make it single thread but not sure the game can scale with only
> >>>>> on thread managing all the game instances and i need timer task.
> >>>>> So for now i will continue on my tomcat but i would be pleased to port
> >>>>> it on GAE java but i need to have answer to my questions. The game is early
> >>>>> stage too ;)
> >>>>> You gave me response for remoting , thanks for that Brett !
> >>>>> Now i need advice for how managing multi instances games with on thread
> >>>>> and moreover it will be flowded by polling remoting :( ...
> >>>>> Thanks
> >>>>> Luciano
> >>>>> But it would have been nice to change nothing
> >>>>> On Fri, Apr 10, 2009 at 9:10 AM, Brett Morgan <brett.mor...@gmail.com>wrote:
> >>>>>> Luciano
> >>>>>> The last time i played with GAE there was a restriction on the server
> >>>>>> side in that it had about ten seconds to generate all of it's output before
> >>>>>> it got toasted, and then output was dumped to the browser in one hit. I
> >>>>>> suspect the time to die has been extended to somewhat, but even so, this
> >>>>>> still makes streaming not implementable on GAE.
> >>>>>> I understand that streaming would be very useful for real time updates
> >>>>>> to flash/flex apps, but is there a way you can restructure your code and use
> >>>>>> polling instead?
> >>>>>> brett
> >>>>>> On Fri, Apr 10, 2009 at 4:19 PM, Luciano Broussal <
> >>>>>> luciano.brous...@gmail.com> wrote:
> >>>>>>> Yes,
> >>>>>>> The AMF remoting is cool and i'm interested by the streaming channel
> >>>>>>> for my own.
> >>>>>>> Thanks.
> >>>>>>> Luciano
> >>>>>>> On Apr 9, 10:35 pm, Clement <clement...@gmail.com> wrote:
> >>>>>>> > Perhaps we could try an alternative.
> >>>>>>> > The main feature i like is the flash remoting (amf). There's a
> >>>>>>> library
> >>>>>>> > called openamf if i'm not mistaken. Maybe I'll give it a try.
> >>>>>>> > > On Thu, Apr 9, 2009 at 10:07 PM, Cole <cole.ferr...@gmail.com>
> >>>>>>> wrote:
> >>>>>>> > > > So i added: <sessions-enabled>true</sessions-enabled> to my
> >>>>>>> appengine-
> >>>>>>> > > > web.xml
> >>>>>>> > > > so i didn't get any error having to do with sessions...
> >>>>>>> > > > but...
> >>>>>>> > > > **** MessageBrokerServlet failed to initialize due to runtime
> >>>>>>> > > > exception: Error: java.lang.NoClassDefFoundError:
> >>>>>>> > > > java.lang.management.ManagementFactory is a restricted class.
> >>>>>>> Please
> >>>>>>> > > > see the Google App Engine developer's guide for more details.
> >>>>>>> > > > at
> >>>>>>> > > > is what i get when i try to initialize the servlet that handles
> >>>>>>> the
> >>>>>>> > > > amf calls.
> >>>>>>> > > > On Apr 9, 12:58 pm, Clement <clement...@gmail.com> wrote:
> >>>>>>> > > > > My first rough try failed. Although it seems like a fault at
> >>>>>>> my end.
> >>>>>>> > > > > And from the trace, seems like appengine's container is based
> >>>>>>> on
> >>>>>>> > > > > jetty.
> >>>>>>> > > > > Hope someone could get blazeds running.....Or maybe it has to
> >>>>>>> be
> >>>>>>> > > > > stripped down in order to comply with the whitelist classes.
> **** MessageBrokerServlet failed to initialize due to runtime
> exception: Error: java.lang.NoClassDefFoundError:
> java.lang.management.ManagementFactory is a restricted class. Please
> see the Google App Engine developer's guide for more details.
there is a workaround for this error, disabling the use of MBeans in
BlazeDS. This can be done putting
<system>
<manageable>false</manageable>
in the BlazeDS configuration (services-config.xml).
Anyway, after that i'm stuck with another error :
**** MessageBrokerServlet failed to initialize due to runtime
exception: Exception: java.security.AccessControlException: access
denied (java.lang.RuntimePermission getClassLoader)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.ClassLoader.getSystemClassLoader(Unknown Source)
at flex.messaging.util.ClassUtil.classLoaderToString(ClassUtil.java:
213)
at flex.messaging.MessageBroker.start(MessageBroker.java:338)
at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:
146)
> > **** MessageBrokerServlet failed to initialize due to runtime
> > exception: Error: java.lang.NoClassDefFoundError:
> > java.lang.management.ManagementFactory is a restricted class. Please
> > see the Google App Engine developer's guide for more details.
> there is a workaround for this error, disabling the use of MBeans in
> BlazeDS. This can be done putting
> <system>
> <manageable>false</manageable>
> in the BlazeDS configuration (services-config.xml).
> Anyway, after that i'm stuck with another error :
> **** MessageBrokerServlet failed to initialize due to runtime
> exception: Exception: java.security.AccessControlException: access
> denied (java.lang.RuntimePermission getClassLoader)
> at java.security.AccessControlContext.checkPermission(Unknown Source)
> at java.security.AccessController.checkPermission(Unknown Source)
> at java.lang.SecurityManager.checkPermission(Unknown Source)
> at java.lang.ClassLoader.getSystemClassLoader(Unknown Source)
> at flex.messaging.util.ClassUtil.classLoaderToString(ClassUtil.java:
> 213)
> at flex.messaging.MessageBroker.start(MessageBroker.java:338)
> at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:
> 146)
> I'd tried the manageable-false setting too, but then GAE wouldn't do
> anything on calls (no error, no action).
> On Apr 14, 1:27 am, Manel <mbatl...@gmail.com> wrote:
> > > **** MessageBrokerServlet failed to initialize due to runtime
> > > exception: Error: java.lang.NoClassDefFoundError:
> > > java.lang.management.ManagementFactory is a restricted class. Please
> > > see the Google App Engine developer's guide for more details.
> > there is a workaround for this error, disabling the use of MBeans in
> > BlazeDS. This can be done putting
> > <system>
> > <manageable>false</manageable>
> > in the BlazeDS configuration (services-config.xml).
> > Anyway, after that i'm stuck with another error :
> > **** MessageBrokerServlet failed to initialize due to runtime
> > exception: Exception: java.security.AccessControlException: access
> > denied (java.lang.RuntimePermission getClassLoader)
> > at java.security.AccessControlContext.checkPermission(Unknown Source)
> > at java.security.AccessController.checkPermission(Unknown Source)
> > at java.lang.SecurityManager.checkPermission(Unknown Source)
> > at java.lang.ClassLoader.getSystemClassLoader(Unknown Source)
> > at flex.messaging.util.ClassUtil.classLoaderToString(ClassUtil.java:
> > 213)
> > at flex.messaging.MessageBroker.start(MessageBroker.java:338)
> > at flex.messaging.MessageBrokerServlet.init(MessageBrokerServlet.java:
> > 146)
> On Apr 14, 11:10 pm, Sekhar <sek...@allurefx.com> wrote:
> > I'd tried the manageable-false setting too, but then GAE wouldn't do
> > anything on calls (no error, no action).
> > On Apr 14, 1:27 am, Manel <mbatl...@gmail.com> wrote:
> > > > **** MessageBrokerServlet failed to initialize due to runtime
> > > > exception: Error: java.lang.NoClassDefFoundError:
> > > > java.lang.management.ManagementFactory is a restricted class. Please
> > > > see the Google App Engine developer's guide for more details.
> > > there is a workaround for this error, disabling the use of MBeans in
> > > BlazeDS. This can be done putting
I couldn't get BlazeDS working on a deployed app either. I would try
using Weborb as an alternative to BlazeDS. The developer of Weborb got
everything working today:
> > > > > **** MessageBrokerServlet failed to initialize due to runtime
> > > > > exception: Error: java.lang.NoClassDefFoundError:
> > > > > java.lang.management.ManagementFactory is a restricted class. Please
> > > > > see the Google App Engine developer's guide for more details.
> > > > there is a workaround for this error, disabling the use of MBeans in
> > > >BlazeDS. This can be done putting
> I couldn't getBlazeDSworking on a deployed app either. I would try
> using Weborb as an alternative toBlazeDS. The developer of Weborb got
> everything working today:
> Has anyone tried porting Blazeds into appengine?
> Blazeds runs on any servlet container if i'm not mistaken, and it
> seems likely that it will be able to run on appengine too. It will be
> interesting if it works.