[appengine-java] Re: Framework for java/jsp based dev supported by GAE
er$ParseTask.call > (ConfigManager.java:787) > at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) > at java.util.concurrent.FutureTask.run(Unknown Source) > at com.sun.faces.config.ConfigManager.getConfigDocuments > (ConfigManager.java:656) > at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: > 337) > ... 30 more > C10-18 02:43AM 44.862 > > Uncaught exception from servlet > javax.servlet.UnavailableException: Initialization failed. > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler > (AppVersionHandlerMap.java:200) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler > (AppVersionHandlerMap.java:168) > at > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:127) > at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:239) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5135) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5133) > 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:814) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:516) > at com.google.net.rpc.impl.Server.startRpc(Server.java:769) > at com.google.net.rpc.impl.Server.processRequest(Server.java:351) > at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:437) > 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: > 436) > at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:762) > 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:251) > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:396) > at java.lang.Thread.run(Unknown Source) > Thankx and Regards > > Vik > Founder > www.sakshum.com > www.sakshum.blogspot.com > > > On Sun, Oct 18, 2009 at 3:11 PM, Vik wrote: > okies > > Great.. please update on the group for others benefit as well. I > find it pretty time consuming to build JSF apps w/o IDE support in > case of GAE apps. > > Thankx and Regards > > Vik > Founder > www.sakshum.com > www.sakshum.blogspot.com > > > On Sun, Oct 18, 2009 at 7:52 AM, Derek Berube > wrote: > IMHO, the most important things that the Google AppEngine Plug-In > for Eclipse does is: > Provide the ability to "create" a new AppEngine project. > Launch the AppEngine runtime environment so you can test/debug your > code. > Package and upload your AppEngine application to Google's cloud > infrastructure. > > Most of the other things that Eclipse does (code completion/tips) > work just fine with the 2.0 API. About the only thing I find myself > struggling with is remembering all the options for the markup for > the various tags you use (whether it's the default JSF HTML > components, ADF Faces, ICEFaces, RichFaces, etc.). Of course, help > is never more than a browser window away. > > I know that the 1.81 release of the ICEFaces runtime environment is > supposed to work on GAE. I think RichFaces has problems because it > uses some of the AWT classes internally and those classes are not > available in the GAE runtime environment. > > As a general rule, when I'm learning a new API or technology, I tend > to prefer to do things the "hard way". For me, it is a better way > to get to know how things work because you're forced to. Once one > understands how and why things work the way they do and after they > have endured the "hard way", then they can appreciate what it is > that the tools do for you. Believe me, I appreciate Netbeans, > IntelliJ, and Eclipse for all the amazing things they do for me - > largely because I know how hard
[appengine-java] Re: Framework for java/jsp based dev supported by GAE
er.java:787) > at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) > at java.util.concurrent.FutureTask.run(Unknown Source) > at com.sun.faces.config.ConfigManager.getConfigDocuments > (ConfigManager.java:656) > at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: > 337) > ... 30 more > C10-18 02:43AM 44.862 > > Uncaught exception from servlet > javax.servlet.UnavailableException: Initialization failed. > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler > (AppVersionHandlerMap.java:200) > at > com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler > (AppVersionHandlerMap.java:168) > at > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest > (JettyServletEngineAdapter.java:127) > at com.google.apphosting.runtime.JavaRuntime.handleRequest > (JavaRuntime.java:239) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5135) > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > $6.handleBlockingRequest(RuntimePb.java:5133) > 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:814) > at com.google.tracing.LocalTraceSpanRunnable.run > (LocalTraceSpanRunnable.java:56) > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > (LocalTraceSpanBuilder.java:516) > at com.google.net.rpc.impl.Server.startRpc(Server.java:769) > at com.google.net.rpc.impl.Server.processRequest(Server.java:351) > at com.google.net.rpc.impl.ServerConnection.messageReceived > (ServerConnection.java:437) > 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: > 436) > at com.google.net.async.EventDispatcher.processNetworkEvents > (EventDispatcher.java:762) > 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:251) > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > (JavaRuntime.java:396) > at java.lang.Thread.run(Unknown Source) > Thankx and Regards > > Vik > Founder > www.sakshum.com > www.sakshum.blogspot.com > > > On Sun, Oct 18, 2009 at 3:11 PM, Vik wrote: > okies > > Great.. please update on the group for others benefit as well. I > find it pretty time consuming to build JSF apps w/o IDE support in > case of GAE apps. > > Thankx and Regards > > Vik > Founder > www.sakshum.com > www.sakshum.blogspot.com > > > On Sun, Oct 18, 2009 at 7:52 AM, Derek Berube > wrote: > IMHO, the most important things that the Google AppEngine Plug-In > for Eclipse does is: > Provide the ability to "create" a new AppEngine project. > Launch the AppEngine runtime environment so you can test/debug your > code. > Package and upload your AppEngine application to Google's cloud > infrastructure. > > Most of the other things that Eclipse does (code completion/tips) > work just fine with the 2.0 API. About the only thing I find myself > struggling with is remembering all the options for the markup for > the various tags you use (whether it's the default JSF HTML > components, ADF Faces, ICEFaces, RichFaces, etc.). Of course, help > is never more than a browser window away. > > I know that the 1.81 release of the ICEFaces runtime environment is > supposed to work on GAE. I think RichFaces has problems because it > uses some of the AWT classes internally and those classes are not > available in the GAE runtime environment. > > As a general rule, when I'm learning a new API or technology, I tend > to prefer to do things the "hard way". For me, it is a better way > to get to know how things work because you're forced to. Once one > understands how and why things work the way they do and after they > have endured the "hard way", then they can appreciate what it is > that the tools do for you. Believe me, I appreciate Netbeans, > IntelliJ, and Eclipse for all the amazing things they do for me - > largely because I know how hard it is to do things without them. > >
Re: [appengine-java] web.xml version="2.5" is not supported
One of the issues that you are going to encounter is the mismatch between the JSP API defined in GAE and the implementation of that API provided. As documented in bug 1506<http://code.google.com/p/googleappengine/issues/detail?id=1506>, GAE includes the JSP 2.1 specification (found in the geronimo-jsp_2.1_spec-1.0.1.jar); however, they provide the Apache Tomcat Jasper classes from 5.0.28 which implements the 2.0 JSP specification. If you want to use the 2.1 Unified Expression language, then you're going to need to download the Unified Expression Language <https://uel.dev.java.net/> 1.1 API (el-api-1.1.jar<http://download.java.net/maven/glassfish/javax/el/el-api/1.1/el-api-1.1.jar>) and Implementation (el-impl-1.1jar<http://download.java.net/maven/glassfish/org/glassfish/web/el-impl/1.1/el-impl-1.1.jar>) files and place them in the WEB-INF/lib directory of your web application. Once that is done, modify your web.xml with the following snippet of code: com.sun.faces.expressionFactory com.sun.el.ExpressionFactoryImpl This should make the Unified EL available to your web application. Derek Berube Wildstar Technologies, LLC. 1453 Riverview Run Lane Suwanee, Georgia 30024-3890 M: (404) 444-5283 http://www.wildstartech.com/ On Wed, Nov 18, 2009 at 5:24 AM, Nacho Coloma wrote: > Hi all, > > I have been trying to use the following web.xml elements in GAE: > > > >*.jsp >false > > /WEB-INF/taglibs.jspf > > true as-literal> > > true > > > > This instructs the JSP compiler to add some directives at the > beginning of all JSP pages: > > * el-ignored: to be able to use ${...} at every page. > * include-prelude: to include a jsp fragment with tag libraries etc at > the beginning. > * deferred-syntax-allowed-as-literal: to ignore the use of #{...} > literals > * trim-directive-whitespaces: to trim the line feeds at the beginning > of each page > > The thing is, this is only supported for web.xml 2.5 which I know is > supported by jetty but not by AppEngine. Anyway, I would expect it to > throw an exception instead of ignoring my XML start: > > > http://java.sun.com/xml/ns/javaee"; >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >xsi:schemaLocation="http://java.sun.com/xml/ns/javaee > http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"; >metadata-complete="true" version="2.5"> > > The thing is, I don't know if: > > * It is planned to be supported by AppEngine at some point. > * I am missing the correct way of configuring this in GAE. > * Just nobody looked at it before. > > Comments would be welcome. Best regards, > > Nacho. > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=. > > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] Configuring JSF 2.0 to run on Google App Engine
Denden, What does your web.xml look like? What libraries to you have in the WEB-INF/lib directory of your web application? Are you trying to use a component library such as ADF, RichFaces, or ICEFaces? I have a working version of the JSF2 framework running on GAE posted at jsf2template.appspot.com. The source code for this project is available from Google code at: http://code.google.com/p/jsf2gae/. Derek Berube Wildstar Technologies, LLC. 1453 Riverview Run Lane Suwanee, Georgia 30024-3890 M: (404) 444-5283 . http://www.wildstartech.com/ On Tue, Nov 17, 2009 at 2:24 AM, Denden Gajudo wrote: > I'm attempting to configure JSF 2.0 to run on Google App Engine using > the following setup: > > Apache Xalan-J 2.9.0 > Google AppEngine for Java SDK v1.2.5 > Sun Java ServerFaces 2.0 FCS > Unified Expression Language 1.1 API (el-api-1.1.jar) and > Implementation (el-impl-1.1jar) > > I followed the procedure indicated in > > http://java.wildstartech.com/Java-Platform-Enterpr...to-run-on-the-google-appengine > > However, I am getting the following errors on startup. I was wondering > if anyone has experienced this problem. > > WARNING: Failed startup of context > com.google.apphosting.utils.jetty.devappenginewebappcont...@14b081b > {/,C:\workspace\JSFTemplate\war} > com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! > null > at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: > 354) > at com.sun.faces.config.ConfigureListener.contextInitialized > (ConfigureListener.java:219) > 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 org.mortbay.jetty.handler.HandlerWrapper.doStart > (HandlerWrapper.java:117) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:40) > at org.mortbay.jetty.handler.HandlerWrapper.doStart > (HandlerWrapper.java:117) > at org.mortbay.jetty.Server.doStart(Server.java:217) > at org.mortbay.component.AbstractLifeCycle.start > (AbstractLifeCycle.java:40) > at > com.google.appengine.tools.development.JettyContainerService.startContainer > (JettyContainerService.java:152) > at > com.google.appengine.tools.development.AbstractContainerService.startup > (AbstractContainerService.java:116) > at com.google.appengine.tools.development.DevAppServerImpl.start > (DevAppServerImpl.java:218) > at com.google.appengine.tools.development.DevAppServerMain > $StartAction.apply(DevAppServerMain.java:162) > at com.google.appengine.tools.util.Parser$ParseResult.applyArgs > (Parser.java:48) > at com.google.appengine.tools.development.DevAppServerMain. > (DevAppServerMain.java:113) > at com.google.appengine.tools.development.DevAppServerMain.main > (DevAppServerMain.java:89) > Caused by: java.lang.NullPointerException > at com.sun.faces.util.Util.loadClass(Util.java:200) > at com.sun.faces.config.processor.AbstractConfigProcessor.loadClass > (AbstractConfigProcessor.java:312) > at > > com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processHandlerClass > (FaceletTaglibConfigProcessor.java:416) > at > com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags > (FaceletTaglibConfigProcessor.java:370) > at > > com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary > (FaceletTaglibConfigProcessor.java:313) > at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process > (FaceletTaglibConfigProcessor.java:262) > at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java: > 337) > ... 19 more > > > Any assistance is much appreciated. Thanks. > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com > . > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=. > > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.
Re: [appengine-java] Re: JSF 2.0.1 java.lang.ClassNotFoundException: void
A simple project (where the JSF2 framework initializes and a default page is displayed) is available at Google Code: http://code.google.com/p/jsf2template/. This is the source code for the application I wrote developing the tutorial for configuring a JSF 2 project to run on Google App Engine - http://jsf2template.appspot.com/. Derek On Nov 23, 2009, at 1:55 PM, Alexandre Calvão wrote: > Does anyone have a archetype project for GAE, whith the JSF Working ? > > I could not do this think work. > > Thanks > > > > 2009/11/20 addy.bhardwaj > I had a similar issue. The way I fixed it was to configure state > saving to client rather than server. For details check my blog > http://consultingblogs.emc.com/jaddy/archive/2009/11/20/jsf2-in-google-app-engine.aspx > > Let me know if this fixes your problem. > > On Nov 12, 6:15 pm, Mirco Attocchi wrote: > > Problem using majorra 2.0.1 and GAE 1.2.6, but some times pages render > > correctly. > > > > javax.servlet.ServletException: java.lang.RuntimeException: > > java.lang.ClassNotFoundException: void > > at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle > > (AppVersionHandlerMap.java:240) > > at org.mortbay.jetty.handler.HandlerWrapper.handle > > (HandlerWrapper.java:139) > > at org.mortbay.jetty.Server.handle(Server.java:313) > > at > > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: > > 506) > > at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete > > (HttpConnection.java:830) > > at > > com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable > > (RpcRequestParser.java:76) > > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381) > > at > > com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceReques > > t > > (JettyServletEngineAdapter.java:139) > > at com.google.apphosting.runtime.JavaRuntime.handleRequest > > (JavaRuntime.java:239) > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > > $6.handleBlockingRequest(RuntimePb.java:5135) > > at com.google.apphosting.base.RuntimePb$EvaluationRuntime > > $6.handleBlockingRequest(RuntimePb.java:5133) > > 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:814) > > at com.google.tracing.LocalTraceSpanRunnable.run > > (LocalTraceSpanRunnable.java:56) > > at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan > > (LocalTraceSpanBuilder.java:516) > > at com.google.net.rpc.impl.Server.startRpc(Server.java:769) > > at com.google.net.rpc.impl.Server.processRequest(Server.java:351) > > at com.google.net.rpc.impl.ServerConnection.messageReceived > > (ServerConnection.java:437) > > 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: > > 436) > > at com.google.net.async.EventDispatcher.processNetworkEvents > > (EventDispatcher.java:762) > > 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:251) > > at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run > > (JavaRuntime.java:396) > > at java.lang.Thread.run(Unknown Source) > > Caused by: java.lang.RuntimeException: > > java.lang.ClassNotFoundException: void > > at com.google.apphosting.runtime.jetty.SessionManager.deserialize > > (SessionManager.java:389) > > at com.google.apphosting.runtime.jetty.SessionManager.loadSession > > (SessionManager.java:307) > > at com.google.apphosting.runtime.jetty.SessionManager.getSession > > (SessionManager.java:282) > > at org.mortbay.jetty.servlet.AbstractSessionManager.getHttpSession > > (AbstractSessionManager.java:237) > > at org.mortbay.jetty.Request.getSession(Request.java:998) > > at > > com.sun.faces.application.WebappLifecycleListener.syncSessionScopedBeans > > (WebappLifecycleListener.java:393) > > at > > com.sun.faces.application.WebappLifecycleListener.requestDestroyed > > (WebappLifecycleListener.java:117) > > at com.sun.faces.config.ConfigureListener.requestDestroyed > > (ConfigureListener.java:341) > > at org.mortbay.jetty.handler.ContextHandler.handle > > (ContextHandler.java:725) > > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: > > 405) > > at com.google.apphosting.runtime.jetty.AppVersionHandlerMa
Re: [appengine-java] JSF 2.0.1 on GAE | java.lang.RuntimeException: java.io.NotSerializableException: com.sun.faces.context.flash.ELFlash
Joe, Your web.xml looks good and a quick look at the JSF RI source code shows that it is not Serializable (I just peeked at the JSF 2.0.2 code which was released on the 10th and the class isn't Serializable there). As described in the source code for the javax.faces.context.Flash (http://www.docjar.com/docs/api/javax/faces/context/Flash.html) object indicates the following: > The flash is an application scoped object that must be thread safe, and > provide a programming model that lets each session treat the flash as if it > was a session scoped object. The reference implementation of the object should be Serializable in order to execute on the GAE platform. It is probably worth filing a bug (https://javaserverfaces.dev.java.net/issues/) with Sun on the matter. Derek On Dec 10, 2009, at 2:18 PM, Sector7B wrote: > Hi, followed the examples below{} for JSF on GAE: > > {https://sites.google.com/a/wildstartech.com/adventures-in-java/Java- > Platform-Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces- > reference-implementation/configuring-jsf-20-to-run-on-the-google- > appengine/javaserverfaces-20-and-google-app-engine-compatibility- > issues > > https://sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform-Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces-reference-implementation/configuring-jsf-20-to-run-on-the-google-appengine > > http://java.dzone.com/news/jsf2-configuration-google-app} > > When i run locally, just the example given it works fine. > When i run live i get this error: > java.lang.RuntimeException: java.io.NotSerializableException: > com.sun.faces.context.flash.ELFlash > > searches come up with nothing for me? It would seem the engine > requires ELFlash to be serializable, but I guess its not. > http://www.docjar.com/docs/api/com/sun/faces/context/flash/ELFlash.html > > It looks like a lot of people have gotten this to work, it seems weird > i can't fine an example of this breaking for someone else. > > Any thoughts? > > Thanks > > web.xml: > > >javax.faces.STATE_SAVING_METHOD >client > > > javax.faces.DEFAULT_SUFFIX >.xhtml > > >com.sun.faces.expressionFactory >com.sun.el.ExpressionFactoryImpl > > > >com.sun.faces.expressionFactory >com.sun.el.ExpressionFactoryImpl > > > > Set this flag to true if you want the JavaServer Faces > Reference Implementation to validate the XML in your > faces-config.xml resources against the DTD. Default > value is false. > >com.sun.faces.validateXml >true > > > > > When enabled, the runtime initialization and default > ResourceHandler > implementation will use threads to perform their functions. Set > this > value to false if threads aren't desired (as in the case of > running > within the Google Application Engine). > > Note that when this option is disabled, the ResourceHandler will > not > pick up new versions of resources when ProjectStage is > development. > >com.sun.faces.enableThreading >false > > > >javax.faces.STATE_SAVING_METHOD >client > > > >javax.faces.PROJECT_STAGE >Production > > > >Faces Servlet >javax.faces.webapp.FacesServlet >1 > > >Faces Servlet >/faces/* >*.jsf > > >30 > > >index.jsp >index.xhtml >index.html > > > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] JSF 2.0.1 on GAE | java.lang.RuntimeException: java.io.NotSerializableException: com.sun.faces.context.flash.ELFlash
What does the web page where you get the java.io.NotSerializableException look like? I tried playing around with the javax.faces.context.Flash features on the http://jsf2gae.appspot.com/ site. The first page, flash.xhtml, has the following source: http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";> http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en" xmlns:f="http://java.sun.com/jsf/core"; xmlns:h="http://java.sun.com/jsf/html"; xmlns:ui="http://java.sun.com/jsf/facelets";> Example of JSF 2.0 Flash Functionality Value for Next Page The second page, flash_page2.xhtml, has the second contents: http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";> http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en" xmlns:f="http://java.sun.com/jsf/core"; xmlns:h="http://java.sun.com/jsf/html"; xmlns:ui="http://java.sun.com/jsf/facelets";> Example of JSF 2.0 Flash Functionality (Page 2) You typed "". Start Over It works without generating any errors. Derek P.S. The "Flash" features are a great, quick way to pass data from one page to another! On Dec 10, 2009, at 2:18 PM, Sector7B wrote: > Hi, followed the examples below{} for JSF on GAE: > > {https://sites.google.com/a/wildstartech.com/adventures-in-java/Java- > Platform-Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces- > reference-implementation/configuring-jsf-20-to-run-on-the-google- > appengine/javaserverfaces-20-and-google-app-engine-compatibility- > issues > > https://sites.google.com/a/wildstartech.com/adventures-in-java/Java-Platform-Enterprise-Edition/JavaServer-Faces/sun-javaserver-faces-reference-implementation/configuring-jsf-20-to-run-on-the-google-appengine > > http://java.dzone.com/news/jsf2-configuration-google-app} > > When i run locally, just the example given it works fine. > When i run live i get this error: > java.lang.RuntimeException: java.io.NotSerializableException: > com.sun.faces.context.flash.ELFlash > > searches come up with nothing for me? It would seem the engine > requires ELFlash to be serializable, but I guess its not. > http://www.docjar.com/docs/api/com/sun/faces/context/flash/ELFlash.html > > It looks like a lot of people have gotten this to work, it seems weird > i can't fine an example of this breaking for someone else. > > Any thoughts? > > Thanks > > web.xml: > > >javax.faces.STATE_SAVING_METHOD >client > > > javax.faces.DEFAULT_SUFFIX >.xhtml > > >com.sun.faces.expressionFactory >com.sun.el.ExpressionFactoryImpl > > > >com.sun.faces.expressionFactory >com.sun.el.ExpressionFactoryImpl > > > > Set this flag to true if you want the JavaServer Faces > Reference Implementation to validate the XML in your > faces-config.xml resources against the DTD. Default > value is false. > >com.sun.faces.validateXml >true > > > > > When enabled, the runtime initialization and default > ResourceHandler > implementation will use threads to perform their functions. Set > this > value to false if threads aren't desired (as in the case of > running > within the Google Application Engine). > > Note that when this option is disabled, the ResourceHandler will > not > pick up new versions of resources when ProjectStage is > development. > >com.sun.faces.enableThreading >false > > > >javax.faces.STATE_SAVING_METHOD >client > > > >javax.faces.PROJECT_STAGE >Production > > > >Faces Servlet >javax.faces.webapp.FacesServlet >1 > > >Faces Servlet >/faces/* >*.jsf > > >30 > > >index.jsp >index.xhtml >index.html > > > > -- > > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-j...@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.
Re: [appengine-java] Re: JSF 2 state saving on server
Hello, I'm the author of the article that Daniel referred you to and I wanted to provide some clarification on what I meant by "appears to handle" in the comments regarding the javax.faces.STATE_SAVING_METHOD parameter in the web.xml. Problems that I have had in the past with storing state on the server in versions of GAE prior to 1.3 appeared to be related to the amount of time required to persist session information to the datastore. I used to get com.google.appengine.api.datastore.DatastoreTimeoutException exceptions using the server option. Since the 1.3 release of GAE, I have been using server value for this parameter in the JSF2 based applications I run on GAE. However, none of the applications have very complicated user interfaces so the object graph that comprises the component hierarchy is not terribly deep. In short, for the simple applications I have written, the server parameter works great. The "Configuring JavaServer Faces 2.0 to run on the Google App Engine Using Eclipse" article is getting a little long in the tooth and plan on updating it to account for the 1.4.3 version of GAE along with the newly released JSF 2.1 reference implementation. For the most part, I think the article will not change much aside from screen shots. The biggest change will be in the "JavaServer Faces 2.0 and Google App Engine Compatibility Issues" article. According to bug 1506, the JSP 2.1 compatibility issues have been resolved as of GAE 1.4.2. As such, the section of the web.xml in my sample code that talks about having to explicitly identify the JSP expression factory implementation class may no longer be necessary. I hope this helps. Derek On Apr 5, 2011, at 5:55 AM, sgrueter wrote: > Hello Daniel > > Thanks for the information. > > After reading the document configuring-jsf-20-to-run-on-the-google-appengine, > the reliability of server state saving in current version > of GAE is still not clear to me ("GAE 1.3.0 appears to handle..."). > > > > javax.faces.STATE_SAVING_METHOD > server > > > Best regards > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to google-appengine-java@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.