Het volgende probleem doet zicht voor.
Voor een project maak ik gebruik van Servlets en de Tomcat Servlet Server.
Voor loadbalancing en effeciency of resources maak ik gebruik van een connection pool. Aan deze connectionpool kun je connecties naar de database opvragen.
Zoals jullie weten of niet worden Servlets ieder ineen eigen classloader geladen, die een child is van de classloader die er boven zit.
Nu moet ik die connectionpool ergenes laden, dat gebeurt in een Servlet natuurlijk, maar dan zit ie in die classloader, zodat andere servlets er niet bij kunnen en dus geen connecties kunnen opvragen.
Nu zou dit moeten werken :
Maar helaas dan krijg ik een mooie java.lang.ClassNotFoundException. Wanneer ik een java.lang.String pak is het geen probleem.
Dit betkenet dus dat de classloader erboven die com..... niet kan vinden. Hoe los ik dit op ??
Als ik hem "normaal" initialiseer lukt dit wel.
Iemand ?
Voor een project maak ik gebruik van Servlets en de Tomcat Servlet Server.
Voor loadbalancing en effeciency of resources maak ik gebruik van een connection pool. Aan deze connectionpool kun je connecties naar de database opvragen.
Zoals jullie weten of niet worden Servlets ieder ineen eigen classloader geladen, die een child is van de classloader die er boven zit.
Nu moet ik die connectionpool ergenes laden, dat gebeurt in een Servlet natuurlijk, maar dan zit ie in die classloader, zodat andere servlets er niet bij kunnen en dus geen connecties kunnen opvragen.
Nu zou dit moeten werken :
code:
1
| Class.forName("com.protomatter.jdbc.pool.JdbcConnectionPoolDriver",true,ClassLoader.getSystemClassLoader()) ;//.newInstance(); |
Maar helaas dan krijg ik een mooie java.lang.ClassNotFoundException. Wanneer ik een java.lang.String pak is het geen probleem.
Dit betkenet dus dat de classloader erboven die com..... niet kan vinden. Hoe los ik dit op ??
Als ik hem "normaal" initialiseer lukt dit wel.
Iemand ?