Ich versuche, einen "Meta" -API-Endpunkt zu erstellen, der bestimmte nützliche Informationen zur internen Verwendung zurückgibt. Eines der Felder, die ich erhalten möchte, ist eine Datenbank-URL.So melden Sie die JDBC-URL aus dem Kontext
Im Kontext-Datei es wie folgt gegeben:
<Resource name="jdbc/mycon" auth="Container" type="javax.sql.DataSource"
removeAbandoned="true" removeAbandonedTimeout="30" maxActive="8" maxIdle="4" maxWait="10000"
validationQuery="SELECT SQL_NO_CACHE 1+1"
username="u" password="p" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://my.url.com" />
ich einige Code (scala) haben, die die Informationen als DataSource
Objekt zurück:
val context = (new InitialContext).lookup("java:/comp/env").asInstanceOf[Context]
val dataSource = context.lookup(s"jdbc/mycon").asInstanceOf[DataSource]
jedoch nicht herausfinden, ich kann wie man die URL daraus extrahiert. Gibt es eine andere Klasse, auf die ich das Ergebnis anwenden kann?
Ich versuchte, einen BasicDataSource verwenden, aber wenn ich den Endpunkt traf ich die Fehlermeldung: Error: com.sun.proxy.$Proxy0 cannot be cast to org.apache.commons.dbcp.BasicDataSource