JBoss MicroKernel




    The JBoss Kernel provides a lightweight kernel for managing POJOs, their deployment and configuration.




    Additional features can be added:


    • Configuring a container for the POJO and and adding aspects.


    • Writing deployment aspects to add extra configuration steps for a POJO/deployment.








    • Make the JBoss microkernel available as a supported standalone project.


    • Re-implement the kernel inline with our POJO middleware strategy.


      • No requirement for JMX (which might not be available in some environments).


      • No requirement to extend or reference JBoss classes.


      • Allow unit tests "outside" the JBoss server.


      • JMX still used by the JBoss server.


    • Allow JBoss services to be easily deployed in the other containers.


      • Removes any "lock in" associated with using JBoss Services.


      • The enclosing container may handle classloading, logging, etc.


    • Allow the features to be used in more restrictive environments (e.g. Applets, J2ME, etc.)


      • Lightweight and small memory footprint.


      • May not be authorized to the MBeanServer, System properties, etc.


      • Layered approach - advanced features are optional, e.g. hot-deploy, jmx or cluster support.


    • Improved configuration management.


      • Notion of manual/on-demand start of a service.


      • Versioned configuration profiles.


      • Permenant deployment/config changes when using management apis.


      • Notion of system/subsystem.


      • Notion of service/subservice as opposed to service/dependent service.


      • Enhanced bootstrap.


    • Introduce an "Aspectized" deployer layer.


      • Deployment aspects for classloading, logging, configuration, dependency injection, etc.


      • Virtual File System to improve and ease deployment/archive access inside the deployers.


    • Use the container defined by the Unified Interceptor project.


      • Better integration with JBoss/AOP.


      • Allows reuse of interceptors/services from other parts of JBoss.


      • Provide kernel aspects - IOC, lifecycle, valve, state, etc.


    • Improved support for dependencies.


      • Classloading dependencies.


      • JNDI/port binding dependencies.


      • Better definition of implicit/explicit rules.


    • Improved support for clustering.


      • Clustered services - config and operations automatically propogated according to metadata rules.


      • Transparent access to remote services in the cluster.














    Class Diagrams for Evolving JBoss5



    See Also


    Referenced by: