2012-03-18 7 views
5

Come creare/ottenere un ConnectionProvider in un ambiente Spring (v.3.1.1) + Hibernate (v.4.1.1) + C3P0?Come creare/ottenere un ConnectionProvider in Spring + Hibernate + C3P0 environment?

Background:

In una molla (v.3.1.1) + Hibernate (v.4.1.1) + ambiente C3P0, sto cercando di progettare un'applicazione multi-tenant. Hibernate ha un buon documentation sulle funzionalità di multi-tenancy di recente introduzione, ma ci sono ancora alcune lacune mancanti. Seguendo l'esempio 16.3 nei documenti di Hibernate, non sono riuscito a capire come fornire ConnectionProvider a MultiTenantConnectionProvider. Qualsiasi suggerimento/link/idee sarebbe molto apprezzato. Grazie molto.

risposta

0

Non è possibile utilizzare il metodo di fabbrica ConnectionProviderUtils.buildConnectionProvider(String); per creare un'istanza di ConnectionProvider e quindi iniettarla nel proprio MultiTenantConnectionProvider?

<bean id="multiTenantConnectionProvider" class="MultiTenantConnectionProviderImpl"> 
    <property name="connectionProvider"> 
    <bean class="ConnectionProviderUtils" factory-method="buildConnectionProvider"> 
     <constructor-arg value="type"/> 
    </bean> 
    </property> 
</bean> 

O qualcosa di molto vicino a quello. Spiacente, non riesco a trovare il nome completo della classe di ConnectionProviderUtils, ma entrambi gli argomenti agli attributi della classe devono essere nomi completi.

+1

E non riesco a trovare ConnectionProviderUtils stesso. La documentazione di Hibernate 4.1 mostra ConnectionProviderUtils nel loro esempio, ma non indicano da dove importarlo o come implementarlo. – craftsman

+0

Grazie per aver dedicato del tempo per rispondere però! – craftsman

+0

Si sta utilizzando un pool di connessioni JNDI? Prova ad utilizzare org.hibernate.connection.DatasourceConnectionProvider e ad iniettare un'origine dati acquisita tramite JNDI (vedi il quinto post su http://forum.springsource.org/showthread.php?13984-Come-creare-a-jndi-utilizzare- primavera-datasource) –