0

Spring 3.1 を使用して Google App Engine で実行されている Web サービス サーブレットに取り組んでいます。サーブレットの存続期間中に維持するものを配置できる場所がいくつかあるようです。

  1. アプリケーション コンテキスト。ここで Bean を定義すると、コードに簡単に注入できます。これは最も簡単な解決策のように思えます。Bean のスコープをシングルトンにするだけです。
  2. サーブレット コンテキスト。このため、サーブレットが起動すると、そのインスタンスを取得してsetAttribute().
  3. メモリキャッシュ。これについてはまだ詳しく調べていませんが、キャッシュのインスタンスを取得して、ServletContext のようにオブジェクトをそこに挿入するだけだと思います。

私が興味を持っている特定のケースは、ユーザー アカウントの作成です。要求されたユーザー ID が既に使用されているかどうかを確認できるように、すべてのユーザー ID の HashSet を保持したいと考えています。

上記の特定のケースを超えて、さまざまなテクノロジのそれぞれを使用するケースを含めていただければ幸いです。

4

1 に答える 1

2

特定のケースでは、データストアやクラウド SQL などの永続ストレージを使用することをお勧めします (ここですべての代替案を確認できます)。

保存される要素の数を制御できないため、Memcache はオプションではありません。また、インスタンスは実際にはさまざまなデータセンターで何度もロードおよびリロードされているため、アプリケーション コンテキストも解決策にはなりません。

また、AppEngine は、ユーザー サービスを介して Google アカウントまたは OpenId を使用するためのサポートを提供することにも注意してください。

于 2012-06-20T17:52:21.353 に答える