What is the JBoss Microcontainer?

The JBoss Microcontainer is a refactoring of JBoss's JMX Microkernel to support direct POJO deployment and standalone use outside the JBoss application server.

Features

  • All the features of the JMX Microkernel
  • Direct POJO deployment (no need for Standard/XMBean or MBeanProxy)
  • Direct IOC style dependency injection
  • Improved lifecycle management
  • Additional control over dependencies
  • Transparent AOP integration
  • Virtual File System
  • Virtual Deployment Framework
  • OSGi classloading

Documentation

News

Architecture

Originally JBoss Microcontainer was a standalone project in the jbossas SVN repo.
Since then the project was split into smaller sub-projects:

Reflection
  • JIRA http://jira.jboss.com/jira/browse/JBREFLECT
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-reflect/
  • MVN http://repository.jboss.com/maven2/org/jboss/jboss-reflect/
MetaData Repository (MDR)
  • JIRA http://jira.jboss.com/jira/browse/JBMDR
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-mdr/
  • MVN http://repository.jboss.com/maven2/org/jboss/jboss-mdr/
Managed (and MetaType)
  • JIRA http://jira.jboss.com/jira/browse/JBMAN
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-man/
  • MVN http://repository.jboss.com/maven2/org/jboss/man/
Microcontainer (basic kernel + aop, spring and guice integration)
  • JIRA http://jira.jboss.com/jira/browse/JBMICRONT
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/microcontainer/
  • MVN http://repository.jboss.com/maven2/org/jboss/microcontainer/
ClassLoader
  • JIRA http://jira.jboss.com/jira/browse/JBCL
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-cl/
  • MVN http://repository.jboss.com/maven2/org/jboss/cl/
Deployers
  • JIRA http://jira.jboss.com/jira/browse/JBDEPLOY
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-deployers/
  • MVN http://repository.jboss.com/maven2/org/jboss/deployers/
Reliance
  • JIRA http://jira.jboss.com/jira/browse/JBREL
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-reliance/
  • MVN http://repository.jboss.com/maven2/org/jboss/reliance/
OSGi
  • JIRA http://jira.jboss.com/jira/browse/JBOSGI
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-osgi/
  • MVN http://repository.jboss.com/maven2/org/jboss/osgi/
VFS
  • JIRA http://jira.jboss.com/jira/browse/JBVFS
  • SVN http://anonsvn.jboss.org/repos/jbossas/projects/vfs/
  • MVN http://repository.jboss.com/maven2/org/jboss/jboss-vfs/

Getting involved

Do you want to be a microcontainer committer?
Take a look at the currently outstanding tasks in JIRA for any of the subprojects

Forums

Building the project

All sub-projects are fully mavenized, using Maven2 pom.xml files. You can easily build them by running 'mvn clean install' Maven2 command. This already runs the tests that are part of each sub-project.

Using Eclipse

Each project also contains Eclipse .project and .classpath files that allow one to develop from within eclipse. The easiest way to setup an Eclipse workspace is to start with an empty workspace, and the use the File/Import/Existing Project into Workspace... and select the jbossmc svn working directory.

Using IntelliJ IDEA

Since all sub-projects are fully mavenized, you can simply run Maven2 IDEA plugin in the root of each sub-project.

mvn idea:idea
This builds all the neccessary IDEA files, links together the library dependencies. Make sure you run install phase before running this plugin.

Authors

  • Adrian Brock
  • Ales Justin
  • Scott Stark
  • Kabir Khan

Past contributers

  • Bill Burke
  • Les Hazelwood

Valid HTML 4.01 Strict IDE building Microcontainer
Structure101 and Microcontainer