【发布时间】:2016-07-27 17:48:01
【问题描述】:
我使用以下标准创建数据源:
private DataSource ds;
Context envContext = (Context) initContext.lookup("java:/comp/env");
ds = (DataSource)envContext.lookup("jdbc/myDB");
我希望将连接 url 写入日志文件。
System.out.println(ds);
上述内容不会到期。我考虑过投射到 BasicDataSource
(ds instanceof BasicDataSource);
获取信息,因为 BDS 有 getUrl() 方法。这违背了间接性,因为并非所有连接都是 BasicDataSource 并且应该避免?应该如何打印用于数据源的 url,至少用于调试?
【问题讨论】:
-
假设你使用
javax.sql.DataSource,你可以使用ds.getConnection().getMetaData().getURL()。