我有一些问题与tomcat 7configurationjdbc池:我试图遵循这个例子: http : //www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-并发
所以我有:
的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
检查你的context.xml文件。 您是否在默认文件的现有<Context>中embedded了<Context> ?
最糟糕的情况下,采取这一点:
<ResourceLink type="javax.sql.DataSource" name="jdbc/LocalDB" global="jdbc/DB" />
…并确保它在已经存在的<Context>标签内,并去除多余的标签。
一般来说,我不build议编辑server.xml或context.xml来创build这些资源。 Tomcat文档将在一定程度上支持我:
http://tomcat.apache.org/tomcat-7.0-doc/config/context.html
请参阅“简介”部分的尾部。 通常,我为此目的在/ conf / Catalina / localhost目录中创buildcontext.xml.default文件甚至appname.xml文件。 从应用程序特定的configuration中抽象出全局configuration。
通常,我为此目的在/ conf / Catalina / localhost目录中创buildcontext.xml.default文件甚至appname.xml文件。
这是正确的方式。
您可以通过java:comp / env / jdbc / DB在一行中执行查找,不需要两次查找。