Skip to content

Class loader hierarchy

Cikey edited this page Jun 2, 2012 · 2 revisions
  Bootstrap
      |
   Extension
      |      \
    System   Commons
            /        \
          Hydra    Services

Bootstrap

This class loader contains the basic runtime classes provided by the JVM.

Extension

Java extension class loader that loads any classes from JAR files present in the System Extension directory ($JAVA_HOME/jre/lib/ext)

System

This class loader usually loads contents from the CLASSPATH environment variable. Hydra will ignore the contents of the CLASSPATH environment varibale itself, and instead build two new class loaders: Commons and Hydra

Commons

This class loader loads classes from the following repository:

  • $HYDRA_HOME/lib/hydra-api.jar
  • $HYDRA_HOME/lib/slf4j.jar
  • $HYDRA_HOME/lib/logback-core.jar
  • $HYDRA_HOME/lib/logback-classic.jar

Hydra

This class loader includes all classes and resources needed for Hydra itself. These classes and resources are invisible to services running on Hydra. By default this class loader will search in $HYDRA_HOME for all JARs named with 'hydra-*.jar' except 'hydra-api.jar.

Services

Each Hydra service is loaded by an own class loader. Classes and resources loaded by the commons class loader are visible to the service, but neither the Hydra classes nor services among themselves.

Clone this wiki locally