Pregunta

Me gustaría establecer la propiedad testConnectionOnCheckin para c3p0.

Sin embargo estoy teniendo problemas para hacerlo porque se crea el origen de datos c3p0 en mi nombre en un grano de hibernación entidad-manager.

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitManager" ref="persistenceUnitManager" />
<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
<property name="jpaProperties">
  <props>
    <prop key="hibernate.dialect">${taxeng.entityManagerFactory.dialect}</prop>
    <prop key="hibernate.hbm2ddl.auto">${taxeng.entityManagerFactory.ddl}</prop>
    <prop key="hibernate.cache.provider_class">${taxeng.entityManagerFactory.cache}</prop>
    <!-- Note that we use this due to the "ClassNotFoundException: org.hibernate.hql.ast.HqlToken" issue -->
    <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>

    <!-- Database connection pooling -->
    <prop key="hibernate.c3p0.min_size">${taxeng.hibernate.c3p0.min_size}</prop>
    <prop key="hibernate.c3p0.max_size">${taxeng.hibernate.c3p0.max_size}</prop>
    <prop key="hibernate.c3p0.timeout">${taxeng.hibernate.c3p0.timeout}</prop>
    <prop key="hibernate.c3p0.acquire_increment">${taxeng.hibernate.c3p0.acquire_increment}</prop>
    <prop key="hibernate.c3p0.idle_test_period">${taxeng.hibernate.c3p0.idle_test_period}</prop>
    <prop key="hibernate.c3p0.max_statements">${taxeng.hibernate.c3p0.max_statements}</prop>
    <prop key="hibernate.show_sql">false</prop>
  </props>
</property>

Donde cada uno de los <prop key...1> es una clave de configuración de hibernación con el que hibernar con crear una fuente de datos c3p0 en mi nombre.

Sin embargo, no puedo encontrar la clave de configuración de hibernación que se establezca la propiedad testConnectionsOnCheckin de la fuente de datos c3p0.

¿Hay tal clave? Si no, entonces debería ser la creación de los entityManagers dataSource directa y ¿existen trucos que debería saber antes de hacer eso?

Nota:. TestConnectionsOnCheckout no es una opción viable, que tiene una clave de configuración de hibernación correspondiente

¿Fue útil?

Solución

No es sólo un subconjunto de propiedades c3p0 que se puede sustituir así:

http://www.mchange.com/projects/c3p0 /index.html#hibernate-specific

Para otros (incluyendo testConnectionsOnCheckin) necesita ser reemplazado en c3p0.properties

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top