-
1. Re: google app engine and weld
dan.j.allen Dec 17, 2009 11:17 PM (in response to cremersstijn)Yes and no. Yes, it has been done once before. No, because we haven't yet completely verifying it with the current version of Weld. Shane has been working on this and promised to throw together a wiki page in the next couple of days to report his findings. So stay tuned!
We are also going to incorporate GAE deployment into the Weld archetypes very soon.
-
2. Re: google app engine and weld
cremersstijn Jan 7, 2010 12:06 PM (in response to cremersstijn)Is there any new on this topic?
-
3. Re: google app engine and weld
stormtag Jan 9, 2010 6:33 PM (in response to cremersstijn)
Stijn Cremers wrote on Jan 07, 2010 12:06:
Is there any new on this topic?+1
-
4. Re: google app engine and weld
shane.bryzak Jan 10, 2010 1:23 PM (in response to cremersstijn)I've been working on this in my spare time and there's a couple of little issues that we need to fix. Once I get a functioning app working I'll be sure to blog about it or something.
-
5. Re: google app engine and weld
cremersstijn Jan 14, 2010 4:56 PM (in response to cremersstijn)I'm thinking of building an app running on google app engine.
I only want to use the DI of weld. Does this work?Is there something i can help you with? some testing?
-
6. Re: google app engine and weld
nickarls Jan 15, 2010 8:46 AM (in response to cremersstijn)I think I broke reflection recently due to GAE SecurityManager usage but we're (Shane is) working on it it.
-
7. Re: google app engine and weld
shane.bryzak Jan 15, 2010 2:26 PM (in response to cremersstijn)Nik's reflection fixes are looking good, Pete and I are just banging out a serialization issue that has been giving us some grief for the last few days. Hopefully once it's resolved there will be no further issues.
-
8. Re: google app engine and weld
shane.bryzak Jan 15, 2010 3:53 PM (in response to cremersstijn)Thanks to Pete the serialization issue is now fixed - if you use the latest trunk version of Weld then you should have no problems deploying to GAE.
-
9. Re: google app engine and weld
srfarley Jan 21, 2010 2:10 PM (in response to cremersstijn)I built the Weld core and servlet modules from trunk, and added the org.jboss.weld.environment.servlet.Listener to the web.xml file for my GAE project. I put the weld-servlet-1.0.0-SNAPSHOT.jar into WEB-INF/lib and a beans.xml file into WEB-INF.
I'm then attempting to access an application-scoped bean from a JSP page (trying both EL forms, ${} and #{}) and it's not working. There are no exceptions being thrown, I just see the unevaluated expressions on the page.
What am I doing wrong?
-
10. Re: google app engine and weld
cremersstijn Jan 23, 2010 12:45 PM (in response to cremersstijn)I've got it working on google app engine using the trunk version of the weld core, the 1.0.0-CR2 of weld-servlet, JSF 2.0 and JPA!
-
11. Re: google app engine and weld
srfarley Jan 23, 2010 3:42 PM (in response to cremersstijn)I've built weld-servlet-1.0.0-CR2 from source (checked out from http://anonsvn.jboss.org/repos/weld/extensions/tags/1.0.0-CR2/servlet), replacing the weld-core dependency with my local weld-core-1.0.1-SNAPSHOT built from trunk. This packages everything into a local weld-servlet-1.0.0-CR2.jar which I copied to WEB-INF/lib in my GAE structure.
I'm then using @Inject to inject a @Model-annotated bean into a simple HttpServlet. When the servlet doGet() executes, the bean is null. I know Weld is being started because I see the listener writing to the log upon startup. I'm running the App Engine 1.3 dev server.
Should this work, or am I missing something?
-
12. Re: google app engine and weld
cremersstijn Jan 25, 2010 2:05 PM (in response to cremersstijn)You can contact me at cremersstijn{ad}gmail.com, so i give you me code examples...
-
13. Re: google app engine and weld
cremersstijn Jan 28, 2010 7:05 PM (in response to cremersstijn)When i deployed my application to the google app engine, i got the following error:
It worked when deploying locally...
Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@d1b72d{/,/base/data/home/apps/my-things/1.339490771952719595} java.lang.SecurityException: java.lang.IllegalAccessException: Reflection is not allowed on private static final long java.lang.Throwable.serialVersionUID at com.google.appengine.runtime.Request.process-61e49efb8c338a58(Request.java) at java.lang.reflect.Field.setAccessible(Field.java:157) at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:228) at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:133) at org.jboss.weld.resources.ClassTransformer$2.call(ClassTransformer.java:72) at org.jboss.weld.resources.ClassTransformer$2.call(ClassTransformer.java:68) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.jboss.weld.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125) at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:67) at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:156) at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:133) at org.jboss.weld.resources.ClassTransformer$2.call(ClassTransformer.java:72) at org.jboss.weld.resources.ClassTransformer$2.call(ClassTransformer.java:68) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.jboss.weld.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125) at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:67) at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:156) at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:133) at org.jboss.weld.resources.ClassTransformer$2.call(ClassTransformer.java:72) at org.jboss.weld.resources.ClassTransformer$2.call(ClassTransformer.java:68) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at org.jboss.weld.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125) at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:67) at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:59) at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:86) at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:134) at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:367) at org.jboss.weld.environment.servlet.Listener.contextInitialized(Listener.java:158) at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530) at org.mortbay.jetty.servlet.Context.startContext(Context.java:135) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218) 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:191) at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:168) at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:123) at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5235) at com.google.apphosting.base.RuntimePb$EvaluationRuntime$6.handleBlockingRequest(RuntimePb.java:5233) at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:24) at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:363) at com.google.net.rpc.impl.Server$2.run(Server.java:838) at com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:56) at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:536) at com.google.net.rpc.impl.Server.startRpc(Server.java:793) at com.google.net.rpc.impl.Server.processRequest(Server.java:368) at com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:448) 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:466) at com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:759) at com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:205) at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:101) at com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:251) at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run(JavaRuntime.java:394) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalAccessException: Reflection is not allowed on private static final long java.lang.Throwable.serialVersionUID ... 59 more
-
14. Re: google app engine and weld
pmuir Jan 29, 2010 3:08 PM (in response to cremersstijn)Can you show us the full stack trace?