Sto provando a definire due origini dati nella mia applicazione Web, utilizzando il file jetty-env.xml
. Funziona bene con una sola fonte di dati, ma ho questa eccezione quando si aggiunge la seconda fonte di dati:Definizione di due origini dati nel molo (jetty-env.xml)
java.lang.IllegalStateException: Nothing to bind for name javax.sql.DataSource/default
Ecco la mia configurazione:
molo-env.xml
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<New id="ds" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg>jdbc/mybd1</Arg>
<Arg>
<New class="com.mchange.v2.c3p0.ComboPooledDataSource">
<Set name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</Set>
<Set name="jdbcUrl">jdbc:jtds:sqlserver://url:1433/mybd1</Set>
<Set name="user">xx</Set>
<Set name="password">yy</Set>
</New>
</Arg>
</New>
<New id="ds2" class="org.eclipse.jetty.plus.jndi.Resource" >
<Arg>jdbc/mybd2</Arg>
<Arg>
<New class="com.mchange.v2.c3p0.ComboPooledDataSource">
<Set name="driverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</Set>
<Set name="jdbcUrl">jdbc:jtds:sqlserver://url:1433/mybd2</Set>
<Set name="user">xx</Set>
<Set name="password">yy</Set>
</New>
</Arg>
</New>
</Configure>
web.xml
<resource-ref>
<res-ref-name>jdbc/mybd1</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<res-ref-name>jdbc/mybd2</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
hibernate.cfg.xml (c'è un altro hibernate.cfb.xml per configurare la seconda fonte di dati)
<session-factory>
<property name="connection.datasource">jdbc/mybd1</property>
<!-- ... -->
Qualsiasi indizio?
Grazie , ma ottengo lo stesso errore :( – polypiel
Ho avuto un problema simile, e questo ha funzionato per me. Ma ora ho un altro problema m ... – Raedwald
hehehe ... Hai mai visto il costrutto per jndi.Resource? Risorsa (Object scope, String jndiName, Object objToBind) Resource (String jndiName, Object objToBind) ... quindi puoi ugualmente usare tre parametri con valori, svuotare il primo scope param con altri due parametri o solo due parametri – Striker