0

エンティティに関する情報を提供する機能を提供するJavaでWebサービスを作成しています。このため、すべての情報を保持するキャッシュを構築し、クライアントが必要とする情報をキャッシュから提供することを計画しています。したがって、各クライアント要求ではなく、Webサービスの開始時に一度だけキャッシュを構築する必要があります。

私の質問は、どこにキャッシュを構築する必要があるかということです。

それに関して私が読んだことは、クライアントの呼び出しごとにコンストラクターが呼び出されると言っているので、キャッシュ構築機能または他の代替手段をどこに追加する必要がありますか。

私が見つけた答えの1つは、@statelessを使用してこの問題を解決することです。

4

2 に答える 2

1

TechExchange は私の問題に対する優れた解決策を提供してくれましたが、私が作成した既存の SOAP ベースの Web サービスで使用できるソリューションが必要だったため、キャッシュを構築する Bean を作成し、Web サービスの開始時にスプリング インジェクションを使用してそれをインジェクトしました。この Bean はキャッシュを構築し、これはすべてのリクエストで cleints によって使用されます。

于 2013-01-31T12:12:04.010 に答える
0

Webサーバーが懸念しているように、キャッシュはWebサーバーの上に配置する必要があります。これはリバースプロキシと呼ばれます。

そうは言っても、

  • RESTful Webサービスを構築している場合は、リソースを対象とするHttp関連のキャッシュコントロールのほとんどを活用できます。

  • サービスがJax-WSベースの場合は、キャッシュを構築し、データアクセスチャネルを介してデータを取り込むことができます。データの取得/更新がそれを通過し、(見つからない場合はdbにヒットし、見つかった場合は戻りタイプが返される)dbヒットを効果的に削減します。

于 2013-01-29T06:52:58.927 に答える