What is 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
- JBoss Microcontainer 2.0.0 User Guide (Draft)
- JBoss Microcontainer 2.0.0 Reference Guide (Draft - aimed at JBoss contributors)
- JBoss Microcontainer Wiki
News
- 18-March-2009: New MC integration project was started.
- 29-December-2008: JBoss Microcontainer Advanced DI/IoC article @ DZone was published
- 27-November-2008: JBoss Microcontainer goes 2.0.0.GA
- 1-October-2008: JBoss Microcontainer Component models article @ DZone was published
- 12-September-2008: All JBoss Microcontainer sub-projects are at Candidate Release version!
- 11-September-2008: JBoss Deployers 2.0.0.CR1 has been released.
- 11-September-2008: JBoss Classloading 2.0.0.CR2 has been released.
- 10-September-2008: JBoss Microcontainer 2.0.0.CR1 has been released.
- 8-September-2008: JBoss VFS 2.0.0.CR1 has been released.
- 8-September-2008: JBoss MAN 2.0.0.CR1 has been released.
- 8-September-2008: JBoss MDR 2.0.0.CR1 has been released.
- 8-September-2008: JBoss Reflect 2.0.0.CR1 has been released.
- 11-July-2008: JBoss Microcontainer Ohloh profile has been created.
- 10-July-2008: JBoss Microcontainer logo has been revealed.
- 7-July-2008: New JBoss MDR Cache 2.0.0 has been created.
Architecture
Originally JBoss Microcontainer was a standalone project in the jbossas SVN repo.
Since then the project was split into smaller sub-projects:
Overall - a general MC issues, concerning all 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/
MetaData Repository Cache (MDRC)
- JIRA http://jira.jboss.com/jira/browse/JBMDR (part of MDR)
- SVN http://anonsvn.jboss.org/repos/jbossas/projects/jboss-mdr-cache/
- MVN: Please contact the project lead or post requirement on the forum.
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/
Kernel (basic kernel + aop, spring and guice integration, jmx support)
- JIRA http://jira.jboss.com/jira/browse/JBKERNEL
- SVN http://anonsvn.jboss.org/repos/jbossas/projects/kernel/
- MVN http://repository.jboss.com/maven2/org/jboss/kernel/
We changed this locations for 2.2.x and above. The old 2.0.x can still be found at:
- JIRA http://jira.jboss.com/jira/browse/JBMICROCONT
- 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/reliance/
- MVN: Please contact the project lead or post requirement on the forum.
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/
MC integration
- JIRA http://jira.jboss.com/jira/browse/JBMCINT
- SVN http://anonsvn.jboss.org/repos/jbossas/projects/mc-int/
- MVN: Please contact the project lead or post requirement on the forum.
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
- The user forum is where you can ask for help.
- The development forum is for the discussion of changes to the implementation.
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
- Marko Strukelj
Past contributers
- Bill Burke
- Les Hazelwood
Advanced JBoss Seam coding & refactoring for quick & easy development |
Quick Start
JBoss Developer Recent Posts for Project JBoss MicroContainer
- 3 years of WildFly Gource Animation
- It is all the rage now at JBoss to generate Gource videos of the source code repositories for our projects giving some very pretty results.The first w…
- Simpler Audit Logging Example for WildFly 8.0.0.Alpha4
- Tomaz on the WildFly team pointed out that my previous blog post on secure audit logging in WildFly 8.0.0.Alpha4 was a bit too scary :-) So I'd like t…
- Setting up Secure Audit Logging to a Remote Rsyslog Instance in WildFly 8.0.0.Alpha4
- WildFly is the new name for JBoss Application Server. It builds on the same architecture as JBoss Application Server 7. WildFly is the upstream for JB…
- Transylvania Java User Group Roundup
- I just got back from the presenting JBoss Application Server 7 at the Transylvania User Group last night. I didn't know much about Romania before I we…
- JBoss AS 7 at Transylvania JUG
- I'll be going to Transylvania to present at the Transylvania Java User Group on 13 March.I'll be talking about the recently released JBoss AS 7. I'll …
- JBoss AS 7 at Devoxx
- I just got back from my first ever Devoxx, and it is a really great conference - I was very pleasantly surprised! The auditoriums for the main talks w…
- Getting started with JBoss Application Server 7.0.0 CR1 in minutes
- JBoss Application Server 7.0.0 CR1 was released this morning (GMT). I'm sure Jason Greene, the AS 7 lead will post more details in the next day or two…
- Microcontainer Inspector Tool Update
- The Microcontainer Inspector Tool build did not work following the move to our new Maven repository at JBoss. I have updated the build and also change…
- JBoss User Group Belgium
- I've been invited to talk at the Belgian JBoss User Group near Antwerp on 3rd June. The title of my talk will be "What's Cooking in JBoss AS 6" and I …
- JSR-330 and Qualifiers in the JBoss Microcontainer
- The latest JBoss Microcontainer jboss-kernel 2.2.0.Alphas contain support for the @javax.inject.Inject and @javax.inject.Qualifier annotations from JS…