Tuesday, February 20, 2024

Re: Deploy to Google App Engine (GAE)

Now I have it all working.  This is what I found:

Google App Engine Standard no longer gives you a web server, so you need to provide your own.
  • If you use https://github.com/tbroyer/gwt-maven-archetypes you get Jetty when running in dev, but nothing when doing a mvn package (just a war file that can be deployed to an existing web server - no good for Google App Engine).
  • If you use https://github.com/NaluKit/gwt-maven-springboot-archetype you get Embedded Tomcat, both in dev, and also when packaging to a war.  So you can run java -jar myapp.war and it'll start using the embedded Tomcat web server.
If you want to run on the cheap F1 Google App Engine instances, Tomcat is too heavy, and you'll run out of memory.  You can easily switch Spring Boot to use Undertow, which is a lightweight web server, and runs great on the F1 instances.

Cheers.
On Wednesday 27 December 2023 at 4:15:34 am UTC+11 tim_mac...@yahoo.co.uk wrote:
Maybe this thread is gettig a bit off-topic for gwt ? maybe more suitable for Stackoverflow
On Tuesday, December 26, 2023 at 12:21:05 AM UTC Craig Mitchell wrote:
Odd, my message was deleted.  Maybe it was too boring.  :-D

The highlights:
  • I'm not sure if you get a Jetty server bundled or not if you use the legacy bundled services.  The documentation is a little ambiguous to me.
  • You do get a stand alone server "dev server" that you can deploy a war to.  Great for final testing, but it's unclear if you'll be able to debug on it.
  • Your static files worked because the legacy version allows a war file, and you have the maven-war-plugin in your POM.
  • If I switch to SpringBoot, I'll move my static files to either a /public or /static directory.
Personally, I'm going to skip the legacy bundled services, and just use the second-generation Java runtime with my own web server.

Cheers!

On Monday 25 December 2023 at 3:48:23 am UTC+11 tim_mac...@yahoo.co.uk wrote:
Looks like Cloud CLI provides a dev server if  using the legacy bundled services (App Engine API JAR)?
If you are using the legacy bundled services, the second-generation Java runtimes provide the Jetty web-serving framework.
https://cloud.google.com/appengine/migration-center/standard/migrate-to-second-gen/java-differences#framework_flexibility
The Google Cloud CLI for Java includes a local development server for testing your application on your computer. The local development server emulates the App Engine Java runtime environment and all of its services, including Datastore.
What do you think ?

Re. static files: in my setup appengine:deploy at base directory server project deploys  SNAPSHOT.war. 
Static files in \src\main\webapp end up in its root directory. 
says in the case of a JAR-file, src/main/webapp has no special meaning and goes on about jar directories that work with Springboot.


--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/2f8c2654-3a31-49ac-bb7f-761e173b08e4n%40googlegroups.com.

No comments:

Post a Comment