java中有没有办法从程序中访问context.xml中给出的资源标记的值?
<Context ...>
...
<Resource name="jdbc/EmployeeDB" auth="Container"
type="javax.sql.DataSource" username="dbusername" password="dbpassword"
driverClassName="org.hsql.jdbcDriver" url="jdbc:HypersonicSQL:database"
maxActive="8" maxIdle="4"/>
...
</Context>
我知道我们可以通过以下方式获取数据源:
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource)
envCtx.lookup("jdbc/EmployeeDB");
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();
但是有没有办法在我在资源标签中提供的程序中打印userName和密码?
答案 0 :(得分:0)
您可以尝试将其强制转换为资源的实际实现(使用.getClass()。getName()打印出名称)并使用其中提供的方法。例如,tomcat的BasicDataSource具有getPassword getUser方法。