We have a lot of Wicket based applications being run out of a standalone Java Tomcat server. We are planning to move some of this into Google App Engine. Has anybody tried running similar applications (Wicket heavy) on GAEJ? Are there any troubles with session handling in GAEJ (documentation indicates it should work - http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Sessions)? Anything else that I need to know before jumping into it?
I spotted a blog entry about this which might be helpful. But I have no actual experience with GAE, so I can't be too helpful.
Look at "Will it play in Google App Engine" under Wicket and you will see that there are some workarounds.
As far as Sessions - avoid like the plague. All session info is stored in The DataStore Persistence, and will be slow and will contribute to your quotas.
EDIT: The real mechanism is to store session info in MemCache, which acts as a write-through to the DataStore for session info.
one is highly stateful, one is highly stateless. the two styles are not getting along.
in reality, GAE tries its best to dispatch the same client to the same server, and retain memcache content as long as possible. but it promises nothing. an application that requires lots of in-memory states is simply not GAE's best customer.