いくつかのリソースへの接続をプールする必要があります。この議論では、実際のリソースは重要ではありません。ただし、これらの接続はスレッドセーフではないため、接続などのプーリングの必要性は高価な操作であることに注意してください。
私の最初のアイデアは、接続のタイムアウトを管理し、それらを強制終了するなどの1つの大きなプールでした。ただし、問題は、各接続に異なるパラメーターが含まれている可能性があるため、接続を取得するときに、パラメーターを渡してプーラーにこれを使用させる必要があることです。同じ値を持つ接続を見つけようとします。それ(プール)がオブジェクトを見つけることができなかった場合は、もちろんパラメーターを渡すインスタンスを作成する必要があります。
ただし、Apache Commons Pools やその他の同様のライブラリには、この種の概念に対する規定はありません。この種の概念を含むライブラリはありますか。Pool の下にはインスタンスのリストが保持されており、テイク リクエストが受信されると、マッチャーを使用して利用可能なオブジェクトをループし、最初に一致したオブジェクトを返します。
接続オブジェクトのパラメーターを変更することはできないため、問題と質問の理由に注意してください。
- この問題を解決するより良い方法はありますか?
- 上記を行うプーリングライブラリはありますか?
- 私は自分自身を書くべきですか?