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
