JBossKernelCore

Version 4

    JBoss MicroKernel Core

     

     

     

    Goals

     

     

     

    • Small memory footprint - extend behaviour is optionally pluggable.

     

    • Backward compatibility with current JMX kernel.

     

    • Primary responsibilty is to be the glue between POJOs.

     

    • Uses Unified Interceptors to implement any container.

     

     

     

    Core Services

     

     

     

    • Bootstrap - a helper class for bootstrapping the kernel.

     

    • Controller - managed lifecycle/state machine and dependencies.

     

    • Registry - holds deployed POJO information.

     

    • Configurator - instantiates and glues POJOs together including any container.

     

    • Deployer - holds deployment aspects and applies them.

     

    • Bus - allows detyped/detaching between POJOs.

     

    • Repository - holds metadata about POJOs.

     

    • Profile - holds which POJOs are available and whether they should be started.

     

     

     

    Bootstrap

     

     

     

    Provides a simple mechanism to activate the kernel.

     

     

     

    Controller

     

     

     

    The controller is responsible for making sure the POJOs are instantiated, configured and started according to profile, dependencies and system/subsystem/service/subservice configuration/lifecycle.

     

     

     

    POJO/Service configurations are added/removed in the controller which then takes over.

     

     

     

    Registry

     

     

     

    Stores information about the deployed POJOs.

     

     

     

    Configurator

     

     

     

    Instantiates and configures the POJOs, adding any container.

     

     

     

    Deployer

     

     

     

    Holds deployment aspects and applies them when asked to deploy.

     

     

     

    Bus

     

     

     

    Uses the registry to provide detyped/detached invocations, similar to the JMX MBeanServer.

     

     

     

    Repository

     

     

     

    Holds metadata about POJOs, both deployed and available but not deployed.

     

     

     

    Profile

     

     

     

    Defines which Systems, Subsystems, POJOs are deployed and which services are started automatically

     

    or available for manual start.

     

    Design