[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=""
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