2013-07-25 4 views
1

Oracle passe à Universal Connection Pool (UCP) pour maintenir des connexions groupées qui peuvent être empruntées, renvoyées ou fermées. Ma webapplication a ceci en place avec sa propre couche de données. Cette application va migrer pour utiliser JPA avec Hibernate. À ce stade, je ne peux que configurer Hibernate pour utiliser le pilote Oracle JDBC.Comment configurer Hibernate avec UCP

Comment Hibernate peut-il être configuré pour utiliser UCP?

Il existe une documentation sur l'utilisation de c3p0, mais cela ne fonctionne pas pour UCP.

Ceci est ma configuration Hibenate avec une connexion JDBC sans UCP:

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
     <property name="hibernate.connection.url">jdbc:oracle:thin:@DBSERVER:1521:DATABASE</property> 
     <property name="hibernate.connection.username">username</property> 
     <property name="hibernate.connection.password">password</property> 
     <property name="dialect">org.hibernate.dialect.OracleDialect</property> 
     .... 
     <mapping resource="Country.hbm.xml"/> 
    </session-factory> 
</hibernate-configuration> 

Ce sont mes paramètres de connexion pour UCP et JDBC pour un accès direct sans Hibernate:

PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource(); 
pds.setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource"); 
pds.setUser("username"); 
pds.setPassword("password"); 

pds.setConnectionFactoryProperty("driverType", "thin"); 
pds.setURL("jdbc:oracle:thin:@DBSERVER:1521:DATABASE"); 
pds.setInitialPoolSize(10); 
pds.setMaxPoolSize(200); 
+0

Vous allez donc migrer vers une solution JPA pure? La source de données sera-t-elle gérée par JTA? –

+0

C'est exact: solution JPA avec Hibernate en tant que fournisseur JPA. –

+0

Eh bien, je ne pense pas qu'il existe une réponse qui fonctionne. Mon meilleur pari serait d'implémenter un ConnectionProvider personnalisé, avec le code que vous avez ci-dessus. Mais il faut vraiment utiliser l'UCP? Un pool de connexion standard suffirait dans la plupart des cas d'utilisation. –

Répondre

Questions connexes