問題タブ [apache-commons-pool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - バージョン 1 からバージョン 2 への Apache Common Pools の移行と使い果たされたアクション
Apache Commons Pool 1 では、クラスGenericObjectPoolは、枯渇したプールに対応する 3 つのアクションを定義する可能性がありました。
- 失敗
- ブロック
- 育つ
現在、バージョン 2 では、これら 3 つのオプションは表示されず、クラスGenericObjectPoolは、使い果たされたときにプールをブロックする必要があるかどうかを指定する可能性しかないようです。
methodborrowObject
によると、オプションが使い果たされたときのブロックは、アクション FAIL と BLOCK をカバーすることしかできないようです。しかし、プールを GROW アクションに追従させるにはどうすればよいでしょうか?
java - MinEvictableIdleTimeMillis 設定が期待どおりに機能しない
このオブジェクトのプール (org.apache.commons.pool2 を使用) があり、そこから 1 つを借用 (または作成) します。
設定した最大アイドル サイズは 3 (最大サイズは 5) です。これは、アイドル状態のオブジェクトが 3 つ以上ある場合、それらが破棄されるという理解に基づいて設定されました (BasePooledObjectFactory#destroyObject)
これが私のシステムで行うことは、コストがかかるいくつかのオブジェクトを作成および破棄することです。アイドル状態が長時間(1分など)の場合にのみ破棄したいと思います。
これを行うために setMinEvictableIdleTimeMillis (デフォルトは 30 分) を設定してみました。デフォルトだけでなく、設定も機能していないようです-アイドルカウントが4を超えると、オブジェクトが頻繁に破棄されることがわかります.
アイドル状態のオブジェクトが頻繁に破棄されないようにするにはどうすればよいですか?