Package com.streamconverter.command.rule
Class PooledDatabaseFetchRule
java.lang.Object
com.streamconverter.command.rule.PooledDatabaseFetchRule
- All Implemented Interfaces:
IRule
HikariCP対応のデータベースフェッチルール
DatabaseFetchRuleの高性能版です。HikariCPを使用して接続の再利用により パフォーマンスを大幅に向上させます。特に大量のデータ処理や高頻度のデータベースアクセスが 必要な場合に効果的です。
使用例:
// HikariCP接続プールを作成
HikariConnectionPoolConfig pool = new HikariConnectionPoolConfig("jdbc:h2:mem:testdb", 10, Duration.ofSeconds(30));
// プール対応ルールを作成
PooledDatabaseFetchRule rule = new PooledDatabaseFetchRule(
pool,
"SELECT name FROM users WHERE id = ?"
);
// 大量処理でも高速
for (int i = 0; i < 10000; i++) {
String result = rule.apply(String.valueOf(i));
}
// 使用後はプールをシャットダウン
pool.close();
DatabaseFetchRuleとの違い:
- 業界標準HikariCP使用によりパフォーマンス大幅向上
- 接続リーク検出と自動回復
- 複数スレッドからの同時アクセス対応
- 詳細なプールメトリクス
-
Constructor Summary
ConstructorsConstructorDescriptionPooledDatabaseFetchRule
(HikariConnectionPoolConfig connectionPool, String query) コンストラクタ -
Method Summary
Modifier and TypeMethodDescriptionルールの適用を実行します。プールの統計情報を取得
-
Constructor Details
-
PooledDatabaseFetchRule
コンストラクタ- Parameters:
connectionPool
- HikariCP接続プールquery
- データベースクエリ(SELECTクエリのみ許可)- Throws:
IllegalArgumentException
- 無効なパラメータが指定された場合SecurityException
- セキュリティ違反が検出された場合
-
-
Method Details