1

外部システムから返されるセッションのプールを実装する必要があるため、必要になったらすぐに再利用できます (セッションの作成には時間がかかります)。私はデータソースを使用してデータベース接続のプール (Apache からの DBCP) を作成しましたが、これは実装されたソリューションでした。

一般的なケースでは、任意のオブジェクトをプールするために何を使用しますか? また、そのタスクを苦労して処理するために実装されたソリューション、つまりインターフェイスではなくオブジェクトはありますか?

2 番目の質問は、セッションが生きているかどうかをどのようにテストするかということです。セッションの独自のメソッドを照会する、オブジェクト プールでオーバーライドする特定のメソッドはありますか?

3 番目の非常に重要な質問は、オブジェクト プーリング オブジェクトを staticにする必要があるかどうかです。システムから抽出したオブジェクトのバンドルは、異なる Web アプリケーション間で共有する必要があります。たとえば、5 つのセッションを抽出します。アプリ A は POOL にクエリを実行し、最初に利用可能なセッションを取得します。これで、残り 4 つのセッションがあります。別のアプリ B が起動し、THE SAME POOL を照会します。etc プールは共有です。同じマシン上で実行されている、同じ Web アプリの異なるインスタンス間。

4

2 に答える 2

1
  1. オブジェクトのジェネリックプールには、そのためのApacheCommonsプロジェクトがあります。
  2. セッションが生きていることをテストするには、さまざまな方法がありますが、それらの多くは信頼できません。そして、信頼できるもの(でクエリを実行するdual)は遅いです。その機能が組み込まれているc3p0を見ることができます。
  3. 多くのWebアプリケーションが同じWARファイルにある限り、この静的プールオブジェクトを使用しても問題ないと思います。個人的には、ユーティリティメソッドと定数以外のものを持つ静的オブジェクトよりもシングルトンの方が好きです。

一般的に、私は大ファンですHibernate...アプリケーションに使用することを検討しましたか?それでもプレーンSQLクエリを作成でき、プーリングとキャッシュを処理します。

于 2010-02-17T08:32:43.007 に答える