eu desenvolvi uma aplicação que só é usada para eventos que ocorrem pelo menos uma vez por mês (as vezes mais) e preciso que, quando ela não estiver em uso, não fique com as conexões ativas com o banco de dados para que não atrapalhe as outras aplicações. eu estou trabalhando no estilo MVC, tenho 5 classes DAO e tudo gerenciado pelo Spting MVC com o @Repository e @Autowired.
meu bean de conexão do xml esta assim:
<bean id="dataSource"
class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<!-- access configuration -->
<property name="driverClass"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property>
<property name="jdbcUrl"
value="jdbc:sqlserver://XXX;instanceName=XXX;databaseName=XXX"></property>
<property name="user" value="usuario"></property>
<property name="password" value="senha"></property>
<!-- pool sizing -->
<property name="initialPoolSize" value="0" />
<property name="minPoolSize" value="0" />
<property name="maxPoolSize" value="10" />
<property name="acquireIncrement" value="1" />
<property name="maxStatements" value="0" />
<property name="maxStatementsPerConnection" value="0" />
<!-- retries -->
<property name="acquireRetryAttempts" value="0" />
<property name="acquireRetryDelay" value="1500" /> <!-- 1,5s -->
<property name="breakAfterAcquireFailure" value="false" />
<!-- refreshing connections -->
<property name="maxIdleTime" value="120" /> <!-- 1min -->
<property name="maxConnectionAge" value="3600" /> <!-- 1h - be careful with this! -->
<!-- timeouts e testing -->
<property name="checkoutTimeout" value="10000" /> <!-- 5s (limits how long a client will wait for a Connection) -->
<property name="idleConnectionTestPeriod" value="60" /> <!-- 60 -->
<property name="testConnectionOnCheckout" value="true" />
<property name="preferredTestQuery" value="INSERT INTO [LOG] ([isUser],[timeDate])VALUES (0,GETDATE()) />
</bean>
porem ele não está funcionando, quando inicio o servidor ele inicia as 5 conexões (acredito que seja uma para cada DAO) e após uma semana o próprio servidorSQL quebra a conexão e o spring/c3p0 não consegue reconectar e a cada evento eu estou tendo que reiniciar o TomCat
Alguém tem alguma luz??
outra forma de fazer…
Desde já obrigado