Why am getting deadlock upon trying to run a Java AppEngine application? - eclipse

I made an application Guestbook to learn Google App Engine with Java. However, when I try to run it as a web application, Eclipse stalls on building the application because it is apparently waiting for the workspace to build.
I tried canceling the building of the workspace by clicking on the red box to the right to no avail. I have also tried canceling the entire run and re-running, which produced the same scenario.
Why can't I run the web application?

Related

How to deploy web application onto Google App Engine

This may be a vague question but I have been unable to find any help/tutorials specific to my situation and am stuck.
I have built a website using Eclipse (Dynamic Web Project.) I then deployed this application using Tomcat and can see it by going to localhost, however, I am struggling on how to actually deploy it to the cloud.
I am trying to use Google App Engine but am open to other (free) alternatives for deploying my web application.
With Google App Engine, I registered for an account, made a new project, connected it to my github repository and confirmed the correct code is listed.
However, when navigating to project_id.appspot.com (mine is http://mapp-development.appspot.com) I get a 404 error.
I have attempted various deployments and even made an entirely new Google Web Application Project in Eclipse for testing which worked but weirdly deployed to http://1-dot-mapp-develop.appspot.com/ and is the test files which I do not know how to correctly modify.
Is there any way to upload/deploy my existing web application to Google App Engine (as a .war or otherwise)?
I am new to web development and apologize for any unclear specifications. Any help would be greatly appreciated!
Edit: I have also tried (in Eclipse) right clicking the project and choosing "Deploy to App Engine" under Google however it states "mapp-website is not an App Engine project".
Edit2: I had a stupid mistake, I confused my Project ID (mapp-development) and app id (mapp-develop). I am able to successfully make a new Google web project and deploy it to mapp-develop.appspot.com
Sorry for the trouble!
Here are three ways to deploy:
Make an App Engine project in Eclipse
Deploy via Git
Deploy via GitHub
It seems like you tried #1 with a project named 1-dot-mapp-develop. If you select deploy from Eclipse, a dialog box will pop up with a link to "App Engine Project Settings" where you can change the project name (to mapp-development and version).

Google App Engine servlet not updating when I save?

Whenever I run Google App Engine it seems to be running an older version of the servlet than the last one I've saved.
What's going on? How can I fix this?
I'm using the GAE Eclipse Plugin.
I think this is a common pitfall. I also ran into a couple of times.
You should delete the cookies and the cache from Chrome.
If this isn't working, you should terminate and restart the server at eclipse all the time, when you modify the server side code.

basic spring gwt application on Cloudfoundry hangs on loading screen

I deployed a very simple Spring ROO Java (6) app using GWT and HSQL/Hibernate to Cloudfoundry. It is deployed and running but when accessed, the browser window simply states "Loading" and seems to hang indefinitely. It runs fine locally via Maven goal 'gwt:run'.
FYI, I had already built a similar app the same way only using MVC instead of GWT and it is deployed and running fine. The MVC app utilizes several HSQL tables.
I have reduced the GWT app to a single table containing a single field and still cannot get it to display. Any suggestions on where to start looking?
Question was answered by user asking the question: "Well, I found my own answer, posted on the Springsource website: Thread: how to deploy a gwt project to tomcat? http://forum.springsource.org/showthread.php?105346-how-to-deploy-a-gwt-project-to-tomcat"

Web framework with user-friendly desktop deployment?

I'm building a web app with Backbone.js (I'm not tied to Backbone yet though). I need a back-end framework only for persistence to a database via a RESTful API. However, I also need to able to deploy it as a 'desktop' app for off-line use, i.e. running a local server and launching a browser window, but I don't want users to have to start a server from the command line to run the application.
I can use SQLite as a database since it's only a single user application, it's just the framework that I'm stuck on. I have looked at the following:
Rails and Django: Default web servers are too flimsy, requires Ruby/Python and runs from the command line. I'm aware of the Bitnami stacks but at 99mb it's too big of a dependency and not exactly hidden from the user.
Sproutcore: Run from command line, also too bulky.
Pyjamas Desktop - Depends on MSHTML which I suspect limits my ability to use HTML5 features.
I'm leaning towards creating a Java app that starts a Scala/Lift server instance and opens a web browser, then sits in the system tray (kind of like WAMP). Is anyone familiar with a tool or framework built for user-friendly deployment as a standalone desktop app?
I do not know if PHP is an option for you? Then I would recommend phpdock.
web2py has a standalone deploy-to-desktop feature with no dependency on Python: http://web2py.com/books/default/chapter/29/14#How-to-distribute-your-applications-as-binaries
As Eydun said, phpdock is an option but it's commercially licensed .
I settled on using Java/Spring/H2/Hibernate/Jetty. I find that Jetty serves requests VERY quickly so the application looks real-time when launched in a browser. There is a tutorial on embedding the Jetty server here. I imagine it's quite trivial to build a GUI that launches the server and a browser.
Another Java option is to use the Play Framework, which may be more at home to those coming from a Django/Rails background. However, the documentation for "creating a standalone version of your application" for Play 2.0+ indicates that they have ditched using Java EE containers (Tomcat/Jetty) and WAR files in favor of running the JARs with the bundled copy of JBoss Netty, so it may take a bit of work to get it running the way you want it.
I would recommend the Play Framework approach if you're OK with using/learning Scala.

Speeding up code changes in Eclipse Web Browser?

I'm developing an application using the Vaadin framework in Eclipse. I'm using the Tomcat v6.0 servlet and run the application in the Eclipse Web Browser. A problem I've been having though is to have recent changes show in the browser when I test the application.
No matter how many times I restart Tomcat, clean all published resources and restart the Eclipse Web Browser the changes still won't take effect. The changes seem to take effect randomly where time is the biggest factor, which is of great frustration when developing...
So my question is if anyone else has noticed this problem and have any ideas of how to solve it, if there is a configuration I can do or if I'm missing a step in the restart which blocks the changes from taking effect..?
Any help would be greatly appreciated!
In Vaadin most of the code runs in the server and is contained in normal Java files. There are three levels of resource/class changes:
The runtime "hot code replacement". If running Tomcat in debug mode some Java class changes can be published without redeploying the web application. However, if the Tomcat is configured to "auto publish" (check your server settings in Eclipse), the redeployment is automatically done whenever classes change and this causes full context reload and sessions serialization (see #2) . Hot code replacement can be enhanced using tools like JRebel.
Web application deployment. This is essentially deploying a new war file to the server. Causes the previous version to be undeployed and deploys the new version of all classes and resources. Sometimes there are some resources left in the servers work directory or classes are not reloaded, in which case the server restart (#3) is needed.
Server restart. This makes the whole JVM to reload and all the classes and web applications are also reloaded. Still cleaning the work directory separately is needed to make sure everything is reloaded.
In addition to this there is the client-side part of Vaadin (essentially a JavaScript compiled with GWT), which is treated as a static resource by Tomcat. If you modify the client-side Java code the GWT is used to recompile the JavaScript. Deployment should be simply file copying. The browsers cache the generated HTML/JS files, but GWT includes mechanism to avoid this.
You should first try to change the server settings for automatic publishing and see if that helps. Also, I've noticed that different Tomcat version behave differently. This is unfortunate, but the only thing you can do is to try to find the versions/set-up that works for you.
Just to make sure: you have been adding ?restartApplication in the URL to force application to restart on page reload, haven't you?