首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >配置jdbc-pool (tomcat 7)

配置jdbc-pool (tomcat 7)
EN

Stack Overflow用户
提问于 2011-01-20 03:41:40
回答 3查看 19.3K关注 0票数 5

我在使用tomcat7配置jdbc-pool时遇到了一些问题:我尝试遵循这个示例:http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrency

所以我有:

conf/server.xml

代码语言:javascript
复制
 <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

代码语言:javascript
复制
<Context>
  <ResourceLink type="javax.sql.DataSource"
                name="jdbc/LocalDB"
                global="jdbc/DB"
/>
 <Context>

当我尝试这样做的时候:

代码语言:javascript
复制
Context initContext = new InitialContext();
Context envContext  = (Context)initContext.lookup("java:/comp/env");
DataSource datasource = (DataSource)envContext.lookup("jdbc/LocalDB");
Connection con = datasource.getConnection();

我一直收到这个错误:

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

发布于 2011-01-25 12:43:18

代码语言:javascript
复制
<Context>  <ResourceLink type="javax.sql.DataSource"  name="jdbc/LocalDB" global="jdbc/DB"/>

在context.xml中将该name="jdbc/LocalDB"替换为name="jdbc/DB",然后

代码语言:javascript
复制
(DataSource)envContext.lookup("java:/comp/env/jdbc/DB");

第二行代码是多余的。

票数 3
EN

Stack Overflow用户

发布于 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。

票数 2
EN

Stack Overflow用户

发布于 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的位置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4739863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档