Petals ESB Container

Add system extensions

Details

  • Type: Task Task
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 4.3.0
  • Fix Version/s: 5.0.0
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    Currently, there is two types of extensions: container extensions (such as the autoloader) and mutable implementations (such as the registry implementation for the container).

    We wish to introduce another type of extensions: system extensions that are loaded as part of the system classloader.
    This will be used for example to add extra logging handlers (that must reside in the system classpath).

    For this, the directory hierarchy is as follows:

    • lib: contains as before the jars needed by the launcher and the container (including petals-log).
      • implementations: as before, contains various directories containing various implementations used inside the container.
    • extensions: contains as before the jars for the container extensions
    • system-extensions: contains extra jars that must be loaded within the system classloader.

    Only the lib and the extensions directories are passed to the container using system properties as they are needed to setup the container classloader.
    System-extensions is used in the startup script as an extra classpath element (classpath can take a directory and will look for jars inside).
    Implementations is used internally by the container and is not configurable.

    This impacts the startup scripts but shouldn't change they way they were used until now.
    This impacts the zip and deb a bit.

    Show
    Currently, there is two types of extensions: container extensions (such as the autoloader) and mutable implementations (such as the registry implementation for the container). We wish to introduce another type of extensions: system extensions that are loaded as part of the system classloader. This will be used for example to add extra logging handlers (that must reside in the system classpath). For this, the directory hierarchy is as follows:
    • lib: contains as before the jars needed by the launcher and the container (including petals-log).
      • implementations: as before, contains various directories containing various implementations used inside the container.
    • extensions: contains as before the jars for the container extensions
    • system-extensions: contains extra jars that must be loaded within the system classloader.
    Only the lib and the extensions directories are passed to the container using system properties as they are needed to setup the container classloader. System-extensions is used in the startup script as an extra classpath element (classpath can take a directory and will look for jars inside). Implementations is used internally by the container and is not configurable. This impacts the startup scripts but shouldn't change they way they were used until now. This impacts the zip and deb a bit.
  • Environment:
    -

Activity

People

Dates

  • Created:
    Thu, 9 Jul 2015 - 11:41:23 +0200
    Updated:
    Thu, 9 Jul 2015 - 16:11:54 +0200
    Resolved:
    Thu, 9 Jul 2015 - 16:11:54 +0200