给出上下文文件:
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/scum">
<Resource name="jdbc/MyApp"
auth="Container"
type="javax.sql.DataSource"
username="username"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://mysql.server.com:8080/DB"
validationQuery="select 1"
maxActive="20"
maxIdle="2"/>
</Context>
我可以使用以下代码获取资源的网址:
Context xmlContext = (Context) ic.lookup("java:comp/env");
DataSource dataSource = (DataSource) xmlContext.lookup("jdbc/MyApp");
Connection connection = dataSource.getConnection();
String url = connection.getMetaData().getURL();
但是,如果连接失败,则没有元数据,并且不幸的是,没有url。如何在不连接到数据源的情况下获取网址?
答案 0 :(得分:-1)
DataSource
只是一个界面,您什么也收不到。因此,您可以调试DataSource
来检查它实际上是什么实现类。