A colocar propriedades em comum na oracle.jdbc.piscina.OracleDataSource

Eu uso o oráculo.jdbc.piscina.OracleDataSource for connection pooling. Gostaria que a piscina verificasse se a ligação não estava devidamente fechada e a pusesse em dia. Tentei o seguinte:
ods = new OracleDataSource();

ods.setConnectionCachingEnabled(true);
ods.setConnectionCacheName(CACHE_NAME);

Properties cacheProps = new Properties();
cacheProps.setProperty("MinLimit", Integer.toString(1));
cacheProps.setProperty("MaxLimit", Integer.toString(6));
cacheProps.setProperty("InitialLimit", "1");
cacheProps.setProperty("AbandonedConnectionTimeout", "2");

ods.setConnectionCacheProperties(cacheProps);

Eu verifico as ligações activas assim:

occm = OracleConnectionCacheManager.getConnectionCacheManagerInstance();
occm.getNumberOfActiveConnections(CACHE_NAME);

Se Eu não fechar a ligação na aplicação a piscina está a encher até 6, por isso

cacheProps.setProperty("AbandonedConnectionTimeout", "2");

não está a funcionar. Por quê?

qualquer dica seria apreciada

Author: ROMANIA_engineer, 2010-10-14

1 answers

De acordo com o tutorial do Oráculo há outra propriedade envolvida.

Quando o cache é criado, três propriedades importantes, a PropertyCheckInterval, AbandonedConnectionTimeout e LowerThresholdLimit são definidas. PropertyCheckInterval define o intervalo de tempo em que o Gerenciador de cache inspecciona e executa todas as propriedades de cache especificadas.

Tente também definir

 cacheProps.setProperty("PropertyCheckInterval", "1");

O valor por omissão é de 15 minutos...

Dois segundos é provavelmente um pouco diminutivo de uma ligação ser considerada abandonada, no entanto, e uma vez que você tem que definir explicitamente o intervalo de verificação também, eu imagino que isso envolve algumas despesas gerais. Uma vez que você realmente, realmente quer fechar conexões corretamente no código de aplicação e só contar com isso para casos muito raros, você provavelmente deve definir valores mais elevados para ambos.
 5
Author: Thilo, 2010-10-14 09:14:49