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: