[Java] Classloader

Pagina: 1
Acties:

  • vinnux
  • Registratie: Maart 2001
  • Niet online
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 :
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 ?

  • Reefer
  • Registratie: Mei 2000
  • Laatst online: 21-02-2025

Reefer

madness

Loading the Driver
To load the driver, simply execute this code:

Class.forName("com.protomatter.jdbc.pool.JdbcConnectionPoolDriver");

The driver automatically registers itself with the JDBC DriverManager when the class is loaded by the VM. Because the driver keeps a list of pools as a static (class) variable, and because of a bug in JDK 1.1.x's classloader, you may need to either keep a reference to an instance of the JdbcConnectionPoolDriver class somewhere where it won't be re-claimed by the garbage collector, or you may need to give java the -noclassgc flag.
Volgens deze site kan je met 1 argument dat ding initialiseren (misschien al geprobeerd) ?

A Breakbeat A Day Keeps Religion Away.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

de jar waarin 'com.promatter.....' in staat, die staat niet in je classpath.

[edit] vergeet maar wat ik heb gezegd :)

  • vinnux
  • Registratie: Maart 2001
  • Niet online
Op dinsdag 19 maart 2002 16:28 schreef Reefer het volgende:

[..]

Volgens deze site kan je met 1 argument dat ding initialiseren (misschien al geprobeerd) ?
Ja dat werkt, maar dat is niet wat ik wilde. Tot zover had ik het ook al.