我在使用tomcat7配置jdbc-pool时遇到了一些问题:我尝试遵循这个示例:http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency
所以我有:
conf/server.xml
<GlobalNamingResources>
<Resource type="javax.sql.DataSource"
name="jdbc/DB"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/mydb"
username="user"
password="password"
/>
</GlobalNamingResources>conf/context.xml
<Context>
<ResourceLink type="javax.sql.DataSource"
name="jdbc/LocalDB"
global="jdbc/DB"
/>
<Context>当我尝试这样做的时候:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("jdbc/LocalDB");
Connection con = datasource.getConnection();我一直收到这个错误:
javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:803)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)请帮助tnx
发布于 2011-01-25 12:43:18
<Context> <ResourceLink type="javax.sql.DataSource" name="jdbc/LocalDB" global="jdbc/DB"/>在context.xml中将该name="jdbc/LocalDB"替换为name="jdbc/DB",然后
(DataSource)envContext.lookup("java:/comp/env/jdbc/DB");第二行代码是多余的。
发布于 2012-10-24 12:57:44
更改server.xml中的以下行,使用type="org.apache.tomcat.jdbc.pool.DataSource“而不是type="javax.sql.DataSource”
在你的程序中使用(DataSource)envContext.lookup("java:/comp/env/jdbc/LocalDB")而不是DataSource)envContext.lookup("java:/comp/env/jdbc/DB"),那么你就会得到DBConnectoin。
发布于 2011-07-15 03:19:49
conf/server.xml和conf/context.xml...
你有它在tomcat安装前缀里面吗?在eclipse中,我将上下文放在WebContent/META-INF中,将server.xml放在服务器项目中;在生成的war中,context.xml会放在正确的META-INF中
最后,我得到了所有像你的配置一样的东西,除了我不知道你把context.xml放在哪里了。
此外,我也按照@Henry的建议做了,但幸运的是,你的问题只是context.xml的位置
https://stackoverflow.com/questions/4739863
复制相似问题