1

C3P0 接続プールに設定したプロパティが正しく使用されていないのではないかと心配しています。

アプリケーションの実行中に設定された値にアクセスして印刷する方法はありますか:

Println("最小接続数"+connectionNumers.minimum);

ありがとう

4

3 に答える 3

2

log4j を使用して、次のようなデバッグ情報を出力できます。

log4j.logger.com.mchange=DEBUG, STDOUT

### direct log messages to stdout ###
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.Target=System.out
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%t %d{dd/MMM/yyyy:H:mm:ssZ} %5p %c{1}:%L - %m%n

上記を というファイルlog4j.propertiesに入れ、そのファイルをクラスパスに入れると、c3p0 から大量のデバッグ出力が得られるはずです。

出力例:

main 14/Dec/2009:13:24:49-0500 DEBUG BasicResourcePool:289 - com.mchange.v2.resourcepool.BasicResourcePool@16c06dd config: [start -> 0; min -> 0; max -> 5; inc -> 1; num_acq_attempts -> 30; acq_attempt_delay -> 1000; check_idle_resources_delay -> 300000; mox_resource_age -> 0; max_idle_time -> 100000; excess_max_idle_time -> 0; destroy_unreturned_resc_time -> 0; expiration_enforcement_delay -> 25000; break_on_acquisition_failure -> false; debug_store_checkout_exceptions -> false]
main 14/Dec/2009:13:24:49-0500 DEBUG BasicResourcePool:538 - acquire test -- pool size: 0; target_pool_size: 0; desired target? 1
main 14/Dec/2009:13:24:49-0500 DEBUG BasicResourcePool:404 - incremented pending_acquires: 1
main 14/Dec/2009:13:24:49-0500 DEBUG BasicResourcePool:1291 - awaitAvailable(): [unknown]

log4j

于 2009-12-14T18:23:30.830 に答える
0

API を使用すると、これらのプロパティにプログラムでアクセスできます。

ComboPooledDataSourceインスタンスがあるとします。

static final ComboPooledDataSource dataSource = new ComboPooledDataSource();

実行時にこれらのプロパティにアクセスできます。次に例を示します。

int minPoolSize = dataSource.getMinPoolSize();

さらに、その他の役立つ情報もいくつかあります。たとえば、次のとおりです。

int numBusyConnections = dataSource.getNumBusyConnections();
Throwable lastTestError = dataSource.getLastConnectionTestFailureDefaultUser();

ソース: http://www.mchange.com/projects/c3p0/apidocs/com/mchange/v2/c3p0/ComboPooledDataSource.html

于 2011-08-14T09:13:42.220 に答える
-4

ランタイム情報を表示したいですか、それともプロパティ値を変更したいですか? これらの設定値はRAMに保存されているため、実行時にプロパティ値を変更することはできません。

于 2011-03-03T06:28:21.137 に答える