Bonjour,

Une fois déployyé, la portlet est considérée par Tomcat comme une simple 
servlet. Jahia est aussi considére comme un servelt par Tomcat. Par 
conséquent faire un pool de connection Jahis - Portlet revient à la même 
chode que servelt-servlet.

Pour plus d'info:
http://christophej.developpez.com/tutoriel/j2ee/pooltomcat/

Cordialement.
KT.

[EMAIL PROTECTED] a écrit :
>
> Bonjour à tous,
>
> J'ai développé un portlet qui fait une connexion à une base de données 
> et exécute un "SELECT ..." puis affiche les résultats.
>
> Afin d'optimiser les connexions à la base de données, je souhaite 
> mettre en place un pool de connexion sous tomcat.
>
> L'un d'entre vous a t-il déjà mis en place un pool de connexion pour 
> un portlet sous jahia ?
> J'ai redémarré jahia après chaque modif au niveau du sever.xml.
>
> Le portlet affiche l'exception SQLException suivante :
> Exception sur l'accès à la BDD : 
> org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC 
> driver of class '' for connect URL 'null'
>
>
>
> *Config applicative :         *
>         TOMCAT 5.5
>         JAHIA 5.0.2
>         MYSQL 4.1
>
> /Les étapes menées : /
>
> *1. Disponibilité du connecteur mysql*
>         $TOMCAT_HOME/tserver/lib/mysql-connector-java-3.1.12-bin.jar
>         $TOMCAT_HOME/common/lib/mysql-connector-java-3.1.12-bin.jar
>
>
> *2. Configuration du web.xml */.... celui de jahia ou celui de ma 
> webapp ??? j'ai ajouté ces lignes dans les 2 afin d'être sûre !/
>         <resource-ref>
>                         <description>Test du pool de connexion a 
> Mysql</description>
>                 <res-ref-name>jdbc/jahia502</res-ref-name>
>                         <res-type>javax.sql.DataSource</res-type>
>                         <res-auth>Container</res-auth>
>         </resource-ref>
>
> *3. Configuration du server.xml de jahia ($TOMCAT_HOME/conf/server.xml)*
>         <Resource          
>                 name="jdbc/jahia502"        
>                 auth="Container"
>                 type="javax.sql.DataSource"
>                 maxActive="100"
>                 maxIdle="30"
>                 maxWait="10000"
>                 driverClassName="com.mysql.jdbc.Driver"
>                 url="jdbc:mysql://localhost:3306/jahia502"             
>    
>                 username="jahia"
>                 password="jahia"
>         />
>
> *4. Classe Java qui se connecte à la bdd *
>         import java.io.IOException;
>         import java.io.PrintWriter;
>         import java.io.*;
>         import java.net.*;
>         import java.util.*;
>         import java.sql.*;
>
>         import javax.naming.*;
>         import javax.sql.*;
>
>         import javax.servlet.*;
>         import javax.servlet.RequestDispatcher;
>         import javax.servlet.ServletConfig;
>         import javax.servlet.http.HttpServlet;
>         import javax.servlet.http.HttpServletRequest;
>         import javax.servlet.http.HttpServletResponse;
>
>
>         public class TestPool extends HttpServlet {
>          
>                   private DataSource ds;
>                  
>                   public void doGet (HttpServletRequest request, 
> HttpServletResponse response) throws ServletException,  IOException {
>                    
>                             PrintWriter out = response.getWriter();
>                             Connection connexion = null;
>                             Statement instruction=null;
>                         ResultSet resultat=null;
>                         String html = "";
>                            
>                             try {                                     
>      
>        
>                                 // Définition du flux de sortie       
>                      
>                                     
> response.setContentType("text/html");                                 
>                                                                       
>              
>                                    
>                                    //récupération de la Connection 
> depuis le DataSource
>                                    connexion = ds.getConnection();     
>                      
>                                    instruction = 
> connexion.createStatement();
>                                    resultat  = 
> instruction.executeQuery("SELECT * FROM jahia_sites");
>        
>                                    while(resultat.next()){             
>                        
>                                             html = html + "Nom du 
> site: "+resultat.getString("title_jahia_sites")+"<br>";
>                                    }
>                                                                       
>                
>                         }catch (SQLException e) {
>                                 response.sendError(500, "Exception sur 
> l'accès à la BDD " + e);
>                                 out.println("Exception sur l'accès à 
> la BDD : " + e);
>                         }finally {
>                                 if (resultat != null){
>                                         try {
>                                                 resultat.close();
>                                         } catch (SQLException e) 
> {out.println("Erreur lors de la fermeture du resultset");}
>                                         resultat = null;
>                                 }
>                                 if (instruction != null) {
>                                         try {
>                                                 instruction.close();
>                                         } catch (SQLException e) 
> {out.println("Erreur lors de la fermeture du statement");}
>                                         instruction = null;
>                                 }
>                                 if (connexion != null) {
>                                         try {
>                                                 connexion.close();
>                                         } catch (SQLException e) 
> {out.println("Erreur lors de la fermeture de la connexion");}
>                                         connexion = null;
>                                 }
>                         }        
>                         out.println(html);
>                            out.close();                          
>                     }
>            
>            
>                     public void init() throws ServletException {       
>                              
>                           try{
>                                   //récupération de la source de donnée
>                                   Context initCtx = new 
> InitialContext();                          
>                                   ds = (DataSource) 
> initCtx.lookup("java:comp/env/jdbc/jahia502");                          
>                           }catch(Exception e){
>                                   throw new 
> UnavailableException(e.getMessage());
>                           }
>                   }        
>
>  }
> Merci d'avance pour les éventuelles pistes qui me permettront de 
> résoudre mon problème !
> Bonne journée !
> Marie
>
> --------------------------------------------
> /This message and any attachments (the "message") are confidential and 
> intended solely for the addresses. Any unauthorised use or 
> dissemination is prohibited. If you are not receiver of this message, 
> please cancel it immediately and inform the sender. This note ensures 
> that our antivirus checked that this message did not include any virus 
> know to date, nevertheless any e-mail is suitable for deterioration. 
> We shall not be liable for the message if altered, changed or falsified./
> --------------------------------------------
> ------------------------------------------------------------------------
>
> _______________________________________________
> french_list mailing list
> [email protected]
> http://lists.jahia.org/cgi-bin/mailman/listinfo/french_list
>   

_______________________________________________
french_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/french_list

Répondre à