Java 7 で Apache Commons Configuration 1.8 を使用します。データ ソースの 1 つは PostgreSQL データベースで、シングルトンとして機能するクラスの DatabaseConfiguration を介してアクセスします。
デモ構成の初期化:
private void init()
{
// ...
this.databaseConfiguration =
new DatabaseConfiguration( getDataSource(),
"configuration",
"key",
"value" );
this.config.addConfiguration( this.databaseConfiguration, true );
// ...
}
private DataSource getDataSource()
{
final Jdbc3SimpleDataSource source = new Jdbc3SimpleDataSource();
source.setServerName( "my_server" );
source.setPortNumber( 5432 );
source.setDatabaseName( "database" );
source.setUser( "user" );
source.setPassword( "password" );
return source;
}
1 秒あたり最大 80 のデータベース接続があることに気付きました。それらは短命 (約 20 ミリ秒) であり、多くの場合、閉じられる前にデータベースから 1 つの構成値のみを読み取ります。
データベース接続を開いたままにするために Apache Commons Configuration を構成する方法はありますか?