Nick Sieger в блоге рассказал о своих впечатлениях от работы с GAE/J. Там же упомянуты ряд ограничений для GAE/J:
- No regular net/http, restclient, ActiveResource usage. Google has a URL fetch library, and has hooked up Java’s HttpURLConnection to it, but none of the Ruby URL-fetching libraries use it.
- No ActiveRecord. ‘Nuff said. For some folks, that’s a welcome change, but wrapping your head around AppEngine’s BigTable-backed data store takes some thought. You just can’t view it like a SQL engine.
- No RMagick/ImageScience/attachment_fu. No ImageVoodoo even (no javax.image APIs). Google has it’s own image manipulation API.
- Startup/first request processing time is currently an issue. It’s not clear yet how long Google keeps JVMs warm, so if your application is idle, the first few hits to it return 500 errors. I can only assume Google has a plan to address this.
- Crypto. Although java.security and javax.crypto APIs are apparently whitelisted, I haven’t had time to figure out how to leverage them. JRuby’s jruby-openssl gem does not work, which means things like digest aren’t available. That’s currently a blocker for Rails’ cookie session store.
- 1000-files limit per application. In order to work around this, I ended up jarring up all the Rails gems when deploying a Rails application.
Что касается первого пункта, Bas Wilbers подготовил несложную библиотеку для работы с URL Fetch API в GAE/J. Найти ее вы можете на github.com: urlfetch-gae.
Вторая интересная библиотека Bas Wilbers – интерфейс к GAE/J MailService, pony-gae. Безусловно, начилие этих библиотек, а так же Beeu и Bumble от Ola Bini не решает всех текущих проблем, но запускать JRuby on Rails приложения это совсем не мешает.
1 Ответ в “Ограничения AppEngine”