2011-01-19 25 views
5

estoy teniendo algunos problemas con Tomcat 7 para configurar JDBC-piscina: `ve trató de seguir este ejemplo: http://www.tomcatexpert.com/blog/2010/04/01/configuring-jdbc-pool-high-concurrencyConfiguración JDBC-piscina (Tomcat 7)

así que tengo:

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> 

y cuando trato de hacer esto:

Context initContext = new InitialContext(); 
Context envContext = (Context)initContext.lookup("java:/comp/env"); 
DataSource datasource = (DataSource)envContext.lookup("jdbc/LocalDB"); 
Connection con = datasource.getConnection(); 

me siguen dando este error:

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) 

pls ayudan TNX

Respuesta

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

reemplazar ese name="jdbc/LocalDB" con name="jdbc/DB" en su context.xml y

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

[la segunda línea de código es redundante].

1

conf/server.xml y conf/context.xml ...

hacer lo tienes dentro de prefijo de instalación de Tomcat? en eclipse tengo mi contexto dentro de WebContent/META-INF, y server.xml dentro de Server project; en el contexto de guerra resultante.xml metido en el META-INF correcto

al final tengo todo como tus configuraciones, excepto que no sé dónde estás colocando ese context.xml.

También, he hecho como @Henry sugirió también, pero con un poco de suerte su problema es sólo la ubicación de context.xml

2

Cambie la línea siguiente en server.xml tipo de uso = "org.apache .tomcat.jdbc.pool.DataSource" en lugar de type = "javax.sql.DataSource"

y uso (DataSource) envContext.lookup ("java:/comp/env/jdbc/LocalDB") en lugar de DataSource) envContext.lookup ("java:/comp/env/jdbc/DB") en su programa, luego obtendrá DBConnectoin.