The retepMicroKernel environment consists of several modules, each of which sit on top of the core and deployed in sequence.
Each module provides a specific service ranging from configuring logging to deploying an application container like Plexus, Guice or Spring.
You are not limited to the following list of modules either. If you want to use just the core of the microkernel then you can – you simply implement your own module which acts as the equivalent to the static main method in a normal Java application.
The following modules are provided with the microKernel. Most can be used together to form a comprehensive environment. Some are mutually exclusive, like jetty and tomcat.
Core modules |
|||
| These modules are usually required by all applications. Usually you must have these in an application for stability – unless you are providing an alternative. | |||
| Module | Status | Available since | Description |
|---|---|---|---|
| logging | Stable | 10.1 | Provides the log4j integration, configures log4j at startup and runs prior to any other module. |
Application containers |
|||
| The following modules provide integrations with various popular application containers | |||
| Module | Status | Available since | Description |
| guice | N/A | N/A | Google Guice, similar to picoContainer and plexus. This is currently under design |
| picoContainer | Alpha | 10.9-SNAPSHOT | picoContainer integration |
| plexus | Alpha | 10.9-SNAPSHOT | plexus container. Plexus is the container used by the maven runtime |
| spring | Stable | 10.1 | Spring 3.0.2 integration. Provides the ability of an application to be deployed by either xml or annotation based bean declarations. |
Web containers |
|||
| These modules provide Web/Servlet containers enabling web applications (.war) to be deployed. Unlike any other module they are mutually exclusive – you can include only one of these within your application. | |||
| Module | Status | Available since | Description |
| jetty | Stable | 10.5.1 | Eclipse Jetty 7.1 embedded servlet container with http, https and ajp13 support. Note: 10.9-SNAPSHOT contains some bug fixes for some applications which fail on 10.5.1, specifically Hudson |
| tomcat | Stable | 10.5.1 | Apache Tomcat 6.0.26 supporting only http at present. |
Miscellaneous modules |
|||
| Various modules providing integrations to various non-container functionality | |||
| Module | Status | Available since | Description |
| derby | Stable | 10.5.1 | Apache Derby 10.5.3.0_1 embedded SQL Server |
| jndi | Stable | 10.1 | Internal memory based JNDI server |
Developer modules |
|||
| These modules provide tools specifically for developers and are not intended for production use (although some can under certain conditions) | |||
| Module | Status | Available since | Description |
| shell | Stable | 10.5.1 | A simple console based Groovy shell. This module is primarily for debugging purposes, allowing a developer to run groovy scripts against a running application. |