我有一个Tomcat 5.5,其中一个资源用于JDBC Pool连接:
<Resource name="jdbc/orcl"
auth="Container"
type="oracle.jdbc.pool.OracleDataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
factory="oracle.jdbc.pool.OracleDataSourceFactory"
url="jdbc:oracle:thin:@myip:myport:mydatabase"
user="..."
password="...
implicitCachingEnabled="true"
connectionCachingEnabled="true"
connectionCacheProperties="{InitialLimit=10, MinLimit=10, MaxLimit=50, MaxStatementsLimit=0, ConnectionWaitTimeout=20}"
connectionCacheName="cacheOrcl"
/>
我有以下代码来获取连接:
Object o = new InitialContext().lookup("java:comp/env/jdbc/orcl");
if( o instanceof DataSource ) {
DataSource ds = (DataSource) o;
con = ds.getConnection();
LOGGER.debug(ds);
}
有趣的是,它正在处理JSP,而不是在一个Spring Controller中。在弹簧控制器中,我收到消息:
Name jdbc is not bound in this Context
org.apache.naming.NamingContext NamingContext.java 770 lookup
org.apache.naming.NamingContext NamingContext.java 153 lookup
org.apache.naming.factory.ResourceLinkFactory
答案 0 :(得分:0)
我不知道为什么会出现这个问题,但我可以建议一个更好的方法来使用jdbc和spring - 使用JdbcTemplate和spring jdbc支持 - see here用于手册