Apache Wicket on Google App Engine for Java
Holy smokes, that was easy. I’ve got a basic Wicket app running on Google App Engine in under 2 minutes.
3 small traps for the unwary. First of all, you need to enable sessions in your appengine config file.
<sessions-enabled>true</sessions-enabled>
Secondly, add the following line into your WebApplication’s init() method:
@Override protected void init() { super.init(); //remove thread monitoring from resource watcher this.getResourceSettings().setResourcePollFrequency(null); }
Thirdly, override the newSessionStore() method to return HttpSessionStore, because the default second level session store uses java.io.File, which Google App Engine doesn’t allow:
@Override protected ISessionStore newSessionStore() { return new HttpSessionStore(this); // return new SecondLevelCacheSessionStore(this, new InMemoryPageStore()); }
That’s because Google App Engine doesn’t want you spawning threads. Obvious enough.
So that’s it! You’re in a Wicket-land of infinite scalability…
(I’m sure there’s more to it but I was excited…)
See my stupid test here: http://transitplatform.appspot.com/