2016-03-31 5 views
0

Wie kann ich den Datenbankkatalog in einem Tomcat DataSource-Pool ändern? Ich habe versucht:Katalog im Tomcat DataSource-Pool ändern

datasource.getConnection().setCatalog("newcatalog"); 

aber es funktioniert nicht, vielleicht weil ich nicht den Katalog für alle Verbindungen und nicht für neue zu ändern.

+0

Definieren Sie "nicht funktioniert": erhalten Sie eine Ausnahme oder passiert nichts. Allerdings ist es sehr riskant, den Katalog einer Verbindung aus einem Verbindungspool zu ändern. Ich wäre nicht überrascht, wenn einige Connection-Pool-Implementierungen es nicht zulassen. –

+0

Es ändert einfach nicht den Katalog. – Tobia

Antwort

2

Gemäß dem Abschnitt JDBC Data Sources der offiziellen Tomcat-Dokumentation können Sie den Parameter defaultCatalog in Ihrer Konfiguration des verwenden.

Zum Beispiel:

<Resource name="jdbc/MyDatasourceName" 
     auth="Container" 
     type="javax.sql.DataSource" 
     username="dbusername" 
     password="dbpassword" 
     driverClassName="org.hsqldb.jdbc.JDBCDriver" 
     url="jdbc:hsqldb:myDatabase" 

     <!-- use the following catalog --> 
     defaultCatalog="newcatalog" 
/> 

Für eine detaillierte Auflistung der Attribute ein Blick auf Gemeinsame Abschnitt der Tomcat JDBC Connection Pool docs Attribute zur Verfügung haben, die defaultCatalog wie folgt beschreibt:

defaultCatalog - - (String) Der Standardkatalog von Verbindungen, die von diesem Pool erstellt wurden.

Hoffe es hilft.

+0

Ok Ich werde es versuchen, aber ich brauche auch eine Methode, um alle bereits geöffneten Verbindungen zu aktualisieren, sonst können einige von ihnen den alten Katalog haben – Tobia

Verwandte Themen