Bonsoir,
Je dois développer un projet pour l'iut en utilisant les technologies Maven et Spring + Hibernate/JPA. Seulement, je rencontre pas mal de soucis concernant la dépendance c3p0 (laquelle j'utilise pour déclare un bean de type ComboPooledDataSource).
Je crée un test permettant de faire 2-3 opérations simples sur la base de données mais le test plante à chaque coup. En effet, la configuration Spring qu'il lance avant tourne en boucle sur cette erreur :
Je précise que j'ai ajouté la dépendance MySQL et que le jar est bien présent dans le classpath. De plus, lorsque que je teste le chargement du Driver seul avec la méthode Class.forName("com.mysql.jdbc.Driver"); je n'ai pas de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 mars 22, 2012 9:46:09 PM com.mchange.v2.c3p0.DriverManagerDataSource ensureDriverLoaded Avertissement: Could not load driverClass "com.mysql.jdbc.Driver" java.lang.ClassNotFoundException: "com.mysql.jdbc.Driver" at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:186) at com.mchange.v2.c3p0.DriverManagerDataSource.ensureDriverLoaded(DriverManagerDataSource.java:100) at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:132) at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182) at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171) at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137) at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014) at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32) at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810) at com.mchange.v2.async.ThreadPerTaskAsynchronousRunner$TaskThread.run(ThreadPerTaskAsynchronousRunner.java:255)
Voici le code déclarant le bean datasource dans la configuration Spring
dataContext.xml
${jdbc.driverClass} = com.mysql.jdbc.Driver
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <bean id="datasource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:driverClass="${jdbc.driverClass}" p:jdbcUrl="${jdbc.url}" p:user="${jdbc.user}" p:password="${jdbc.password}" p:acquireIncrement="5" p:idleConnectionTestPeriod="60" p:minPoolSize="10" p:maxPoolSize="100" p:maxStatements="50" />
Mes recherches sur internet n'ont rien donné de concret jusque là, j'espère que vous pouvez m'aider![]()
Merci beaucoup.
Je posterai d'autres code si vous le souhaitez pour un aperçu plus clair.
EDIT : j'ai résolu mon problème, il se basait sur le fichier properties et une dépendance manquante.
Partager