1つの接続(または一般的にリソース)プールを実装するための良い設計パターンは何ですか?たとえば、1つのTomcatサーバーが1つのmysqlサーバーに接続し、すべての要求がTomcatサーバー上のmysql接続プールを共有します。私はしばらくの間、Singletonを使用するか、初期化コードを静的なブロックの中に入れるように提案された人たちを探しています。しかし、シングルトンは悪いとの意見もあります。では、接続プーリングに使用する正しい設計パターンは何でしょうか。ありがとう。接続プーリングのための良い設計パターンは何ですか?
4
A
答えて
3
Object (Resource) Pool is a Design Pattern。
Tomcatには1つのConnectionプールはありませんが、代わりにdefine multiple poolsを使用できます。次に、service providerを介してグローバルサーバー、サービス、エンジン、ホスト、または単一のcontextのいずれかとして、各プールへのスコープとアクセスを制御します。アプリケーションは接続プールを検索し、サービスプロバイダは定義されたルールが確実に維持されるようにします。
しかし、あなたの質問はとてもオープンに終わってしまったので、最も適切な解決策を提案することはできません。
1
シングルトンデザインパターンが好ましい。
インスタンスを1回作成し、頻繁に使用します。
タイムリーな接続プールSingleton
これは簡単で良いでしょう。
2
FlyWeight接続プーリングに使用されるデザインパターン。 GOFによって述べられているように、「多数の細かいオブジェクトの再利用を容易にし、多数のオブジェクトをより効率的に利用できるようにする」
関連する問題
- 1. ASP.NETのウィジェットを設計するための良いパターンは何ですか?
- 2. Qtアプリケーションのための良いMV *パターンは何ですか?
- 3. 並列検索エンジンとデータベースのAPIをモデル化するための良い設計パターンは何ですか?
- 4. PHPの接続プーリング
- 5. データベース永続性設計パターンとは何ですか?
- 6. C++ポリシーベースのクラス設計のための良いチュートリアルは何ですか?
- 7. jboss接続プーリング
- 8. スプリング接続プーリング
- 9. eclipselink接続プーリング
- 10. 接続プーリングHibernate
- 11. マルチスレッドサービスでのデータベース接続プーリング
- 12. SQL Azureでの接続プーリング
- 13. PostgreSQL JDBCでの接続プーリング
- 14. HTTP接続プーリングは可能ですか?
- 15. リレーショナルデータベース設計のための良いリソース
- 16. 工場とパイプラインの設計パターンの違いは何ですか?
- 17. SQLAlchemy接続、プーリング、SQLite
- 18. データベース接続プーリング・ライブラリの最良の選択肢は何ですか? (c3p0の問題)
- 19. サーブレットのJDBC接続プーリング
- 20. Sitecore 6の接続プーリング
- 21. ルビーのデータベース接続プーリング
- 22. erlangのリーク接続プーリング
- 23. Tomcat 7の接続プーリング
- 24. Tomcatの接続プーリング、アイドル状態の接続、接続の作成
- 25. Djangoでルックアップテーブルを実装するための良いパターンは何ですか?
- 26. DTO + UnitOfWorkパターンは、WebアプリケーションのDALを設計するための良いアプローチですか?
- 27. Swingベースのアプリケーションでの接続プーリング
- 28. これはスカラAPIを設計するための良いリターン型パターンですか?
- 29. Oracle10gでc3p0でHibernate接続プーリングを設定する
- 30. Workflow Foundation 4.0の設計時検証のパターンは何ですか?
1. apache dbcp poolingのような既存のプーリングフレームワークの使用を検討してください。 Tomcatはそれらをhttp://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html#Database_Connection_Pool_%28DBCP%29_Configurationsにビルドしています。2. "Factory"パターンは、通常、あなたはそれを自分で行います。 – vasquez
@vasquezお返事ありがとう! – Geni