views:

64

answers:

3

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?

+1  A: 

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.

Don Roby
I understand that a basic app can be made to work, I am more worried about using it on non-trivial app serving lots of traffic and then running into major performance or other (timeout because sessions have expired etc) issues. Any help on that would be better.
Shreeni
+2  A: 

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.

Romain Hippeau
+2  A: 

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.

irreputable
Actually, App Engine makes no promise about where subsequent requests from the same user will be routed. Memcache is global and consistent, though.
Nick Johnson