Newsgroup: it.comp.java
Titolo: Configurazione Hibernate, MySQL e Tomcat

Ciao...
Sto provando in questi giorni ad utilizzare Hibernate 3 cercando di
connettermi ad un db MySQL 5 ma con scarsi risultati.
Sono partito dal primo capitolo del manuale che si trova sul sito:
"Quickstart with Tomcat".
Ho seguito passo passo quello che c'è scritto modificando opportunamente i
parametri di configurazione per potermi collegare ad un db MySQL.
Riporto di seguito il CONTEXT che ho configurato sul file server.xml di
Tomcat e il file di configurazione di Hibernate:
    <Context path="/MyWebapp" docBase="MyWebapp">
     <Resource name="jdbc/MyWebapp" scope="Shareable"
type="javax.sql.DataSource"/>
     <ResourceParams name="jdbc/MyWebapp">
       <parameter>
         <name>factory</name>
         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
       </parameter>
       <parameter>
         <name>url</name>
         <value>jdbc:mysql://localhost:3306/MyWebappDB</value>
       </parameter>
       <parameter>
         <name>driverClassName</name>
         <value>com.mysql.jdbc.Driver</value>
       </parameter>
       <parameter>
         <name>username</name>
         <value>user</value>
       </parameter>
       <parameter>
         <name>password</name>
         <value>pswd</value>
       </parameter>
       <parameter>
         <name>maxWait</name>
         <value>3000</value>
       </parameter>
       <parameter>
         <name>maxIdle</name>
         <value>100</value>
       </parameter>
       <parameter>
         <name>maxActive</name>
         <value>10</value>
       </parameter>
     </ResourceParams>
    </Context>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"
http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
">
<hibernate-configuration>
    <session-factory>
        <property
name="connection.datasource">java:comp/env/jdbc/MyWebapp</property>
        <property name="show_sql">false</property>
        <property
name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <!-- Mapping files -->
        <mapping resource="MyClass.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
Ho copiato il driver per la connessione al db su common/lib di Tomcat e
tutte le altre librerie in WEB-INF/lib della mia webapp. La versione di
Tomcat è la 5.5.4.
L'errore che mi viene restituito è il seguente:
Caused by: javax.naming.NameNotFoundException: Name jdbc is not bound in
this Context
E' la prima volta che provo ad utilizzare le connection pool di Tomcat e
probabilmente sto sbagliando qualcosa nella configurazione ma davvero non
riesco a capire cosa... qualcuno sa cortesemente spiegarmi cosa sto
sbagliando?
Grazie!
Nic


se non ricordo male devi togliere o cmq ronominare il file 
hibernate.properties se ne hai uno dentro il classpath. 

 hibernate.properties se ne hai uno dentro il classpath.
Utilizzo un file xml per la configurazione e non uno di properties ma cmq
non ho altri file di configurazione dentro il classpath... :-(
Grazie cmq!
Nic

 connettermi ad un db MySQL 5 ma con scarsi risultati.
Dopo varie ricerche ho trovato una soluzione in rete e la ripropongo qui 
nella speranza che possa aiutare anche altre persone.
L'esempio presentato nel manuale di Hibernate scaricabile dal sito non 
funziona con alcune versioni di Tomcat.
In particolare con la versione 5.5.4 non funziona una cippa perchè 
probabilmente Tomcat canna qualcosa nella creazione della connessione al 
database con i parametri impostati nel context.
La soluzione che ho trovato è la seguente:
1- nel file server.xml impostare una risorsa globale come segue...
  <GlobalNamingResources>
  ...
  <Resource name="jdbc/MyWebapp"
     auth="Container"
     type="javax.sql.DataSource"
     driverClassName="com.mysql.jdbc.Driver"
     url="jdbc:mysql://localhost/MyWebapp"
     username="username"
     password="password"
     maxActive="20"
     maxIdle="10"
     maxWait="-1"
     removeAbandoned="true"
     logAbandoned="true"
  />
  ...
  </GlobalNamingResources>
2- Nel context della webapp creare un link alla risorsa globale:
   <ResourceLink global="jdbc/MyWebapp" name="jdbc/MyWebapp" 
type="javax.sql.DataSource"/>
3- Nel file di configurazione di Hibernate recuperare il data source con il 
parametro dell'esempio del manuale:
   <property 
name="connection.datasource">java:comp/env/jdbc/MyWebapp</property>
...e il gioco è fatto. Questa è l'unica soluzione che ho trovato in rete. 
Spero torni utile.
Byez!
Nic

 ha scritto nel messaggio 
news:42b7c5e6$0$19524$5fc...@news.tiscali.it...


 Enzo.
Ti ringrazio!
Ciao
Nic