【问题标题】:Configuring jdbc-pool (tomcat 7)配置 jdbc-pool (tomcat 7)
【发布时间】:2014-05-09 00:53:21
【问题描述】:

我在使用 tomcat 7 来配置 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

【问题讨论】:

标签: tomcat7


【解决方案1】:
<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");

[第二行代码多余].

【讨论】:

    【解决方案2】:

    更改 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。

    【讨论】:

      【解决方案3】:

      conf/server.xml 和 conf/context.xml...

      你在tomcat安装前缀里面有吗?在 Eclipse 上,我在 WebContent/META-INF 中有我的上下文,在 Server 项目中有 server.xml;在生成的战争 context.xml 中得到了正确的 META-INF

      最后,我拥有与您的配置类似的所有内容,只是我不知道您将 context.xml 放在哪里。

      另外,我也按照@Henry 的建议做了,但幸运的是,你的问题只是 context.xml 的位置

      【讨论】:

        猜你喜欢
        • 2015-08-12
        • 2014-10-15
        • 1970-01-01
        • 1970-01-01
        • 2016-11-26
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 2011-02-27
        相关资源
        最近更新 更多