【发布时间】:2014-01-18 13:30:51
【问题描述】:
我试图在服务器启动之前注册一个新的数据源,但在执行查找时我得到了
javax.naming.NameNotFoundException:名称 [jdbc/db] 未绑定在此上下文中。找不到 [jdbc]。
这就是我启动tomcat的方式:
Tomcat tomcat = new Tomcat();
//...
ContextResource resource = new ContextResource();
resource.setName("jdbc/db");
resource.setAuth("Container");
resource.setType("javax.sql.DataSource");
resource.setScope("Sharable");
resource.setProperty("driverClassName", "org.hsqldb.jdbc.JDBCDriver");
resource.setProperty("url", "jdbc:hsqldb:hsql://localhost:1234/mydb1");
tomcat.getServer().getGlobalNamingResources().addResource(resource);
tomcat.start();
tomcat.getServer().await();
查找:
Connection conn = null;
try {
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/db");
conn = ds.getConnection();
conn.createStatement()....
} catch (Exception e) {
e.printStackTrace();
}
我在这里错过了什么?
【问题讨论】:
标签: java tomcat jdbc datasource jndi