Newsgroup: it.comp.java
Titolo: Datasource Tomcat! Sto impazzendo

Ciao a tutti,
sto provando a utilizzare il datasource con Tomcat, ma l'errore è sempre
lo stesso e non so dove sbaglio!!!!
Cannot create JDBC driver of class "for connect URL 'null'
Sottolineo che le altre classi/servlet/jsp già utilizzano le connessioni
al DB(Mysql) con DBCP Jakarta senza nessun problema.
Di seguito la configuraziione usata:
\conf\server.xml
<Resource name="jdbc/DB"
               auth="Container"
               type="javax.sql.DataSource"/>
  <ResourceParams name="jdbc/DB">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    </parameter>
    <!-- Maximum number of dB connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to 0 for no limit.
         -->
    <parameter>
      <name>maxActive</name>
      <value>100</value>
    </parameter>
    <!-- Maximum number of idle dB connections to retain in pool.
         Set to 0 for no limit.
         -->
    <parameter>
      <name>maxIdle</name>
      <value>30</value>
    </parameter>
    <!-- Maximum time to wait for a dB connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded.  Set to -1 to wait indefinitely.
         -->
    <parameter>
      <name>maxWait</name>
      <value>10000</value>
    </parameter>
    <!-- MySQL dB username and password for dB connections  -->
    <parameter>
     <name>username</name>
     <value>javauser</value>
    </parameter>
    <parameter>
     <name>password</name>
     <value>javadude</value>
    </parameter>
    <!-- Class name for mm.mysql JDBC driver -->
    <parameter>
       <name>driverClassName</name>
       <value>org.gjt.mm.mysql.Driver</value>
    </parameter>
    <!-- The JDBC connection url for connecting to your MySQL dB.
         The autoReconnect=true argument to the url makes sure that the
         mm.mysql JDBC Driver will automatically reconnect if mysqld
closed the
         connection.  mysqld by default closes idle connections after 8
hours.
         -->
    <parameter>
      <name>url</name>
<value>jdbc:mysql://localhost:3306/Intranet?autoReconnect=true</value>
    </parameter>
  </ResourceParams>
e infine \mywebapps\web-inf\web.xml
<resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/DB</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>
ecco il codice utilizzato in una jsp di test:
Context ctx = new InitialContext();
  DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/DB");
  Connection conn = ds.getConnection();
Grazie a tutti
Beck
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:de81c1fdf30ef55b36a...@mygate.mailgate.org...

io non uso questo sistema, creo un file xml sotto conf/catalina/localhost
che mi mappa la web application
per esempio, se la mia webapp si chiama xxx creo un file xxx.xml che
contiene questo
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:/web/xxx">
  <Resource
    name="jdbc/TestDB"
    type="javax.sql.DataSource"
    password="pluto"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    username="pippo"
    url="jdbc:mysql://localhost:3306/mioDBuse"
    maxActive="4"
    removeAbandoned="true"
    removeAbandonedTimeout="60"
    logAbandoned="true"
  />
</Context>
questo è il codice
             Context initContext = new InitialContext();
             Context envContext  =
(Context)initContext.lookup("java:/comp/env");
             DataSource ds = (DataSource)envContext.lookup("jdbc/TestDB");
             con = ds.getConnection();
il connector deve andare sotto common/lib se non sbaglio

Grazie per l'ottimo consiglio Frolix8,
provo e ti aggiorno.


Ciao frolix-8,
ho seguito le tue indicazioni:
ho creato il file DB.xml, la webappas di trova nella cartella 
\tomcat\webapps\mywebb
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="C:/tomcat/webapps/mywebb">
  <Resource
    name="jdbc/DB"
    type="javax.sql.DataSource"
    password=""
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    username=""
    url="jdbc:mysql://localhost:3306/nomeDB"
    maxActive="4"
    removeAbandoned="true"
    removeAbandonedTimeout="60"
    logAbandoned="true"/>
</Context>
ECCO L'ERRORE:
Name jdbc is not bound in this Context 
da cosa puo' dipendere?
Grazie x la tua disponibilità


 ha scritto nel messaggio
news:40d8517a9328994c7d2...@mygate.mailgate.org...


Ciao Frolix,
tranquillo è stato 1 mio errore nel post!
Provo entrambi i metodi e ti dico cosa succede.
Grazie 1000 x la tua disponibilità
Carmine
