Announcement Announcement Module
Collapse
No announcement yet.
Spring Roo/GAE without GWT? Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring Roo/GAE without GWT?

    Does the new Spring Roo/GAE integration require us to use GWT?
    The intro docs state to use gwt setup

  • #2
    No. You can also deploy Roo MVC apps to the app engine, however there are a few issues, one of them being that the app engine does not support entity relationships at the moment. Thus all our current Roo samples won't work in the production app engine.

    This is a work in progress so please stay tuned.

    Comment


    • #3
      Nor, of course, is it necessary to deploy to GAE to use the GWT support.

      Comment


      • #4
        So there seem some issues with Roo/GAE without GWT currentyle, but will they be fixed.

        Will it be official option to not use GWT?


        @Rod: I don't understand why it should necessary to use GWT to deploy to GAE.
        Perhaps I don't understand the sentence you wrote down?

        Comment


        • #5
          Rod says that it is not necessary to deploy to GAE to use GWT :-)

          Comment


          • #6
            I guessed so, but I'm really misinterpreting his post (and I still do)

            Comment


            • #7
              You can use mvn gae:deploy even with a Spring MVC application (ie no GWT).

              I really need to get around to writing that blog post..... :-)

              Comment


              • #8
                That would be great Alex. But what about the comment Alan made about issues in production mode?

                Comment


                • #9
                  I would also be interested to know if I could use the GAE low-level datastore (e.g. instead of JPA)?

                  For a small temp project I'm not interested in using JPA, GWT. The low level datastore API suits wel for this.
                  But using Roo stil has benefits, that's why I'm asking.

                  Comment


                  • #10
                    Marcel, Alan was referring to the considerations around App Engine and relationships between different entities. These aren't working fully in 1.1.0.M1 because App Engine requires the storage of the identifier of the related entity and having the accessors in the domain object go and retrieve the related entity via an explicit call.

                    You could certainly stub a Roo project and then use the low-level DataStore API rather than JPA if you wished. For simplicity you'd still have Data Nucleus in your pom.xml, but you could just write your own methods that directly use the GAE DataStore API.

                    Comment


                    • #11
                      Trying to have custom controller on gae

                      I'm a roo newbie. In trying to create a manual controller using roo-1.1.0.M2/sts-2.3.3.M2 and deploy to GAE.

                      I found that if I try this with "gwt setup" I get a bunch of errors (Bottom of this post) when I try to run this setup (mvn gwt:run) and try to access http://127.0.0.1:8888/publichappenin...27.0.0.1:9997:

                      persistence setup --provider DATANUCLEUS --database HYPERSONIC_IN_MEMORY
                      entity --class ~.server.domain.Happening --testAutomatically
                      field string --fieldName title --sizeMin 3 --sizeMax 30
                      field string --fieldName link
                      controller scaffold ~.web.StuffController
                      controller class --class ~.web.PublicHappeningController
                      logging setup --level DEBUG
                      gwt setup

                      If I leave off the "gwt setup" I can run this locally (mvn tomcat:run) with no problems and access http://localhost:8080/LibraryStuff/p...appening/index just fine (I get the Welcome to ProjectName message for my stubbed out manual controller/view).
                      HOWEVER, If I then switch the persistence setup (persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE --applicationId the-name-you-setup-via-gae-web-ui) and try to deploy to GAE (mvn gae:deploy)
                      I get what looks like an unprocessed jsp for a result (http://c4k-project.appspot.com and http://c4k-project.appspot.com/publichappening/index).
                      Am I doing something wrong, or should I just be more patient and wait for M3 or later?

                      Thanks for any help



                      [INFO] 2010-08-12 16:33:52,463 [btpool0-2] DEBUG org.springframework.orm.jpa.support.OpenEntityMana gerInViewFilter - Using EntityManagerFactory 'entityManagerFactory' for OpenEntityManagerInViewFilter
                      [INFO] 2010-08-12 16:33:52,465 [btpool0-2] DEBUG org.springframework.beans.factory.support.DefaultL istableBeanFactory - Returning cached instance of singleton bean 'entityManagerFactory'
                      [INFO] 2010-08-12 16:33:52,465 [btpool0-2] DEBUG org.springframework.orm.jpa.support.OpenEntityMana gerInViewFilter - Opening JPA EntityManager in OpenEntityManagerInViewFilter
                      [INFO] 2010-08-12 16:33:52,468 [btpool0-2] DEBUG org.springframework.web.servlet.DispatcherServlet - DispatcherServlet with name 'LibraryStuff' determining Last-Modified value for [/app/publichappening/index]
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.mvc.annotation.Def aultAnnotationHandlerMapping - Matching patterns for request [/publichappening/index] are [/publichappening/**/, /publichappening/**, /publichappening/**/{id}/, /publichappening/**/{id}]
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.mvc.annotation.Def aultAnnotationHandlerMapping - URI Template variables for request [/publichappening/index] are {}
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.mvc.annotation.Def aultAnnotationHandlerMapping - Mapping [/publichappening/index] to handler 'edu.virginia.library.stuff.web.PublicHappeningCon troller@76d5f9b9'
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.DispatcherServlet - Last-Modified value for [/app/publichappening/index] is: -1
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.DispatcherServlet - DispatcherServlet with name 'LibraryStuff' processing GET request for [/app/publichappening/index]
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.mvc.multiaction.In ternalPathMethodNameResolver - Returning handler method name 'index' for lookup path: /publichappening/index
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.bind.annotation.support.Ha ndlerMethodInvoker - Invoking request handler method: public java.lang.String edu.virginia.library.stuff.web.PublicHappeningCont roller.index()
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.springframework.web.servlet.DispatcherServlet - Rendering view [org.springframework.web.servlet.view.tiles2.TilesV iew: name 'publichappening/index'; URL [publichappening/index]] in DispatcherServlet with name 'LibraryStuff'
                      [INFO] 2010-08-12 16:33:52,470 [btpool0-2] DEBUG org.apache.tiles.impl.BasicTilesContainer - Render request recieved for definition 'publichappening/index'
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - JspEngine --> /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - ServletPath: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - PathInfo: null
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RealPath: /Users/dhc4z/Documents/workspace-sts-2.3.3.M2/LibraryStuff/target/LibraryStuff-0.1.0.BUILD-SNAPSHOT/WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RequestURI: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - QueryString: gwt.codesvr=127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - Request Params:
                      [INFO] 2010-08-12 16:33:52,471 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - gwt.codesvr = 127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,472 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - JspEngine --> /WEB-INF/views/header.jspx
                      [INFO] 2010-08-12 16:33:52,472 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - ServletPath: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,472 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - PathInfo: null
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RealPath: /Users/dhc4z/Documents/workspace-sts-2.3.3.M2/LibraryStuff/target/LibraryStuff-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/header.jspx
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RequestURI: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - QueryString: gwt.codesvr=127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - Request Params:
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - gwt.codesvr = 127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - JspEngine --> /WEB-INF/views/menu.jspx
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - ServletPath: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - PathInfo: null
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RealPath: /Users/dhc4z/Documents/workspace-sts-2.3.3.M2/LibraryStuff/target/LibraryStuff-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/menu.jspx
                      [INFO] 2010-08-12 16:33:52,473 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RequestURI: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,474 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - QueryString: gwt.codesvr=127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,474 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - Request Params:
                      [INFO] 2010-08-12 16:33:52,474 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - gwt.codesvr = 127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - JspEngine --> /WEB-INF/views/publichappening/index.jspx
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - ServletPath: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - PathInfo: null
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RealPath: /Users/dhc4z/Documents/workspace-sts-2.3.3.M2/LibraryStuff/target/LibraryStuff-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/publichappening/index.jspx
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - RequestURI: /WEB-INF/layouts/default.jspx
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - QueryString: gwt.codesvr=127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - Request Params:
                      [INFO] 2010-08-12 16:33:52,490 [btpool0-2] DEBUG org.apache.jasper.servlet.JspServlet - gwt.codesvr = 127.0.0.1:9997
                      [INFO] 2010-08-12 16:33:52,496 [btpool0-2] DEBUG org.springframework.web.servlet.DispatcherServlet - Could not complete request
                      [INFO] org.apache.tiles.impl.CannotRenderException: JSPException including path '/WEB-INF/views/publichappening/index.jspx'.
                      [INFO] at org.apache.tiles.impl.BasicTilesContainer.render(B asicTilesContainer.java:692)
                      ...
                      [INFO] Caused by: org.apache.tiles.util.TilesIOException: JSPException including path '/WEB-INF/views/publichappening/index.jspx'.
                      [INFO] at org.apache.tiles.servlet.context.ServletUtil.wrapS ervletException(ServletUtil.java:241)
                      [INFO] at org.apache.tiles.jsp.context.JspTilesRequestContex t.include(JspTilesRequestContext.java:105)
                      ...
                      [INFO] Caused by: java.lang.NoSuchMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
                      [INFO] at org.apache.taglibs.standard.tag.common.core.SetSup port.doEndTag(SetSupport.java:140)
                      ...

                      Comment


                      • #12
                        mvn gae:deploy produce java.lang.IllegalArgumentException: Illegal group reference

                        Good day all,

                        i have tried to deploy a simple ROO web apps into GAE (without gwt) but it produces java.lang.IllegalArgumentException: Illegal group reference error.

                        The script that used to reproduce the error is attached below with the logs file.

                        Thanks guyz.

                        Regards,

                        Cyrilforce

                        Comment


                        • #13
                          I created a simple application with roo without GWT and deployed it on GAE http://tahrirproject.appspot.com/

                          but I'm getting the below output

                          Code:
                          <html xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:tiles="http://tiles.apache.org/tags-tiles" xmlns:spring="http://www.springframework.org/tags" xmlns:util="urn:jsptagdir:/WEB-INF/tags/util" >  
                          	
                          	<jsp:output doctype-root-element="HTML" doctype-system="about:legacy-compat" /> 
                          	
                          	<jsp:directive.page contentType="text/html;charset=UTF-8" />  
                          	<jsp:directive.page pageEncoding="UTF-8" /> 
                          			
                          	<head> 
                          		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
                          		<meta http-equiv="X-UA-Compatible" content="IE=8" />	
                          			
                          		<util:load-scripts /> 
                          		
                          		<spring:message code="application_name" var="app_name"/> 
                          		<title><spring:message code="welcome_h3" arguments="${app_name}" /></title> 
                          	</head> 
                          	
                            	<body class="tundra spring"> 
                             		<div id="wrapper"> 
                          		    <tiles:insertAttribute name="header" ignore="true" /> 
                          		    <tiles:insertAttribute name="menu" ignore="true" />   
                          		    <div id="main"> 
                          	    		<tiles:insertAttribute name="body"/> 
                          		    	<tiles:insertAttribute name="footer" ignore="true"/> 
                          		    </div> 
                          		</div> 
                          	</body> 
                          </html>
                          my roo script

                          Code:
                          project --topLevelPackage tahrir --projectName Tahrir 
                          persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE --applicationId  tahrirproject
                          entity --class ~.domain.User --permitReservedWords --testAutomatically  
                          field string --fieldName name --sizeMax 255 --notNull  
                          controller all --package ~.web

                          Any ideas?

                          Thanks
                          Abbas

                          Comment


                          • #14
                            I have the same problem
                            when setup a roo project with gwt,
                            i've uploaded file with gae:deploy, all i get is unprocessed jsp

                            Comment

                            Working...
                            X