5

jdbc-pool を構成するために tomcat 7 で問題が発生しています。次の例に従ってみました: 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を助けてください

4

3 に答える 3

3
<Context>  <ResourceLink type="javax.sql.DataSource"  name="jdbc/LocalDB" global="jdbc/DB"/>

name="jdbc/LocalDB" それをname="jdbc/DB" context.xml に置き換えて、

(DataSource)envContext.lookup("java:/comp/env/jdbc/DB");

[コードの 2 行目は冗長です]。

于 2011-01-25T04:43:18.493 に答える
2

server.xml の次の行を変更して、type="javax.sql.DataSource" の代わりに type="org.apache.tomcat.jdbc.pool.DataSource" を使用します。

プログラムで (DataSource)envContext.lookup("java:/comp/env/jdbc/LocalDB") の代わりに DataSource)envContext.lookup("java:/comp/env/jdbc/DB") を使用すると、 DBConnectoin を取得します。

于 2012-10-24T04:57:43.597 に答える
1

conf/server.xml と conf/context.xml...

Tomcatのインストールプレフィックスの中にありますか?Eclipse では、WebContent/META-INF 内にコンテキストがあり、Server プロジェクト内に server.xml があります。結果の戦争でcontext.xmlが正しいMETA-INF内に取得されました

最後に、context.xml をどこに配置しているかがわからないことを除いて、構成のようなものはすべてあります。

また、@Henryも提案したように作成しましたが、運が良ければ問題はcontext.xmlの場所だけです

于 2011-07-14T19:19:49.450 に答える