[pool de connexion] avec mysql et eclipse
Bonjour,
J'ai un mal fou à configurer mon connecting pool et là, je craque un peu. Il faut dire que je lutte également contre Tomcat et son interface d'administration, j'ai fini par configurer server.xml à la main.
bon regardons ça ensemble :
server.xml d'abord :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?xml version="1.0" encoding="UTF-8"?>
<Server>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource auth="Container"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
name="UserDatabase" pathname="conf/tomcat-users.xml"
type="org.apache.catalina.UserDatabase"/>
<Resource driverClassName="com.mysql.jdbc.Driver"
maxActive="8" maxIdle="8" maxWait="10000"
name="jdbc/pano"
password="tvbuilder"
type="javax.sql.DataSource"
url="jdbc:mysql://mercure.unige.ch/InformationPanneau"
username="tvbuilder"
validationQuery="SELECT 1"/>
</GlobalNamingResources>
<Service name="Catalina">
<Connector connectionTimeout="20000"
maxHttpHeaderSize="8192"
maxSpareThreads="75"
maxThreads="150"
minSpareThreads="25"
port="8080"
redirectPort="8443">
</Connector>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443">
</Connector>
<Engine defaultHost="localhost" name="Catalina">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
<Host appBase="webapps" name="localhost">
<Context docBase="AffichageWeb" path="/AffichageWeb" reloadable="true" source="org.eclipse.jst.j2ee.server:AffichageWeb">
<ResourceLink
global="jdbc/pano"
name="jdbc/PanneauDAffichage"
type="javax.sql.DataSource"/>
</Context>
</Host>
</Engine>
</Service>
</Server> |
Ensuite la méthode qui appelle ma base de données pour la première fois :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
public boolean verifyLogin ( String login, String password )
throws AffichageException
{
Connection connection = null;
ResultSet rs = null;
boolean ok = false;
String query = "SELECT * FROM Login WHERE (login=? AND password = PASSWORD (?)) ";
try
{
connection = ConnectionManagerJdbc.getInstance( ).getConnection( );
PreparedStatement ps = connection.prepareStatement( query );
ps.setString( 1, login );
ps.setString( 2, password );
rs = ps.executeQuery( );
rs.first( );
if ( rs.isFirst( ) )
{
ok = true;
}
}
catch ( SQLException e )
{
log.error( "LoginJdbc :: verifyLogin :: " + e.toString( ) );
}
finally
{
closeConnection( connection );
}
return ok;
} |
ma connexion en elle-même :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
private void initDataSource() {
try
{
Context ctx = new InitialContext();
fDataSource = (DataSource) ctx.lookup(DATASOURCE);
log.info("Connection par datasource");
} catch (NamingException e) {
log.error("Erreur JNDI : " + e);
return;
}
} |
enfin j'utilise le connectJ : mysql-connector-java-3.1.14-bin.jar qui se situe dans le common/lib de tomcat
et j'utilise tomcat 5.5.9
Où est-ce que j'ai complètement faux ? Je vous remercie de votre aide, j'aimerai tellement passé à l'étape suivante :oops: