2012-02-08 8 views
0

jsf2、ジャージー、大気に基づいたjetty8に現在デプロイされているWebアプリケーションがあります。 GAEに移行したいのですが、次の質問が表示されます:jetty8ウェブアプリケーションをgoogleアプリケーションエンジンに移行

GAEはjetty8をサポートしていますか?

毎日データベースのクリーニングタスクを定期的に実行するサーブレットがあります。これを行うために、タスクは最初に生成され、24時間ごとに実行するためにループで遅延されます。 私はGAEではタスクが生成されないことを読んだ。それを行い、GAEによってサポートされる別の方法がありますか?

答えて

4

GAEがバージョン8のJettyを特にサポートしているのかどうかわかりませんが、Jettyインスタンス上で動作します。

GAEは、IAAS(サービスとしてのインフラストラクチャ)プロバイダーよりもPAAS(サービスとしてのプラットフォーム)と考える必要があります。彼らが提供するサービスを見て、あなたの要件に合っているかどうかをチェックする必要があります。一般的な概要はWhat Is Google App Engine?、具体的なフレームワークの互換性についてはJava Enterprise Edition (Java EE) Technologiesを参照してください。 GAEは一般的なJREではありません。サポートされるクラスは限定されています(The JRE Class White List)。これにより互換性がさらに制限されることがあります。 Atmosphereが動いているかどうかは分かりません。私はあなたが必要とするJetty 8の仕様を知りません。 WebSocket?いいえ。チャネルを代わりに使用することができます:The Channel API (Java)

長時間実行されているタスクは実行できません(24時間の遅延)。しかし、スケジュールされたタスクを開始することができます。Scheduled Tasks With Cron for Javaを参照してください。

要求は実行時間(60秒)に制限されているため、このように長時間実行されるタスクは実行できません。しかし、より長い実行(10分)のバックグラウンドタスクを生成することができます。こちらを参照してください:The Task Queue Java API

重要:quotasをご覧ください。特定のアプリケーションの振る舞いを罰するので、アプリケーションをこれに適応させる必要があります。これにより、アプリケーションの設計が完全に変更されます。

私の経験では、GAEへの移行は激しい関わりです。 GAEは、他のホスティングソリューションの置き換えには適していません。そのようなIAASプロバイダ(Amazon EC2など)がもっと適している場合

+0

いつものように。明確でポイントまで。 – maxqua72

2

すべての良い情報は、1回の修正で、30秒ではなく60秒に制限されています。

また、以下の制限があることに留意すべきである:

  • HTTPセッションのライフサイクルが本当にJava EEの仕様ごととして表彰されていませんが。たとえば、セッション内のオブジェクトの値を変更する場合は、すべてのインスタンスに渡ってデータが伝播されるように、セッションの値を再設定する必要があります。
  • 独自のスレッドを生成することはできません。これはJSF実装のいくつかの問題を引き起こす可能性があるため、JSFプロバイダがGAEをサポートしているかどうかを調べる価値があります。私はJBoss RichFacesの最新バージョンがGAEをサポートしていることを頭の中から知っています。
  • GAEチャネルのネイティブサポートはもともとv0.8にスケジュールされていましたが、そのリリースからはずれているようです。

どのようにデータモデルをGAEデータストアに移行する予定ですか? GAEデータストアは、JPA/JDOベースのモデルには適していません。通常のリレーションシップデータベースとは大きく異なります。

+0

ありがとう、私はそれを修正しました。 –

+0

ありがとう!GAEデータストアは別の問題です。しかし私の主な関心事はjetty8とJSF2でした(私はprimefaceでmojarraの実装を使用しています) – maxqua72

関連する問題