Bom dia pessoal, sou novo por aqui.
Estou com uma grande dificuldade em como configurar minha aplicação para finalizar a conexão com banco de dados quando fechar o navegador ou após um determinado período de tempo.
Estou Trabalhando com Hibernate+JPA+C3p0+MYSQL
Li referente o C3p0 e o timeout, e outras configurações dele, porem não consegui acertar este problema.
No momento estou trabalhando localmente, isto pode ser um que quando colocado em ambiente de trabalho fique corrigido?
Segue meu arquivo de persistencia note que contém muita configuração do C3p0 acho até que com redundancia. Analisem ele e ajudem se possível.
a como corrigir este problema, pois visualizando aqui no MYSQL a conexão só encerrá quando fecho o net beans…E no caso tb estou a utilizar o GlassFish
Grato
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="ECommercePU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<!--
<jta-data-source>jndiDerby</jta-data-source>
-->
<non-jta-data-source/>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.url" value="jdbc:mysql://192.168.21.250:3306/ecommerce_1_0"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="123456"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="false"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider"/>
<property name="hibernate.c3p0.automaticTestTable" value="con_test"/>
<property name="hibernate.c3p0.idleConnectionTestPeriod" value="60"/>
<property name="hibernate.c3p0.initialPoolSize" value="10"/>
<property name="hibernate.c3p0.maxIdleTime" value="60"/>
<property name="hibernate.c3p0.maxPoolSize" value="100"/>
<property name="hibernate.c3p0.minPoolSize" value="10"/>
<property name="hibernate.c3p0.maxStatements" value="200"/>
<property name="hibernate.c3p0.acquireIncrement" value="50"/><!--tempo entre uma tentativa e outra de conseguir adquirir uma conexao -->
<property name="hibernate.c3p0.checkoutTimeout" value="60"/><!-- tempo devida da conexao estando inativa -->
<property name="hibernate.c3p0.initialPoolSize" value="0"/>
<property name="hibernate.c3p0.maxStatementsPerConnection" value="10"/>
<property name="hibernate.c3p0.acquireRetryDelay" value="1000"/>
<property name="hibernate.c3p0.acquireRetryAttempts" value="60"/><!-- qtde de vezes que o c3p0 tentara abrir a conexao -->
<property name="hibernate.c3p0.breakAfterAcquireFailure" value="true"/>
<property name="hibernate.c3p0.maxIdleTimeExcessConnections" value="60"/>
<property name="hibernate.c3p0.numHelperThreads" value="3"/>
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces" value="true"/>
<property name="hibernate.c3p0.unreturnedConnectionTimeout" value="60"/>
</properties>
</persistence-unit>
</persistence>