Introduction
TheLittleContainer means to provide an extremely lightweight, non-intrusive, modular 'container' for running Java code and applications. It does not attempt to compete with other containers such as servlet containers (e.g., Tomcat) or full-blown EJB containers (e.g., JBoss). Rather, TheLittleContainer merely provides a quick & dirty sandbox for running & deploying standalone Java applications.
Philosophy
- Extremely lightweight - in its minimal configuration, consists of a single, small, self-executable JAR file. Additional libraries may be needed for more robust configurations, however, the philosophy is akin to the XP principle of YAGNI ("You Ain't Gonna Need It").
- Modular - any additional functionality (such as logging mechanisms, configuration loaders, etc.) can be added by simply copying the appropriate JAR files into the proper directory. For example, to divert console output into a log file, just drop the TheLittleContainer-filelogger.jar into the target directory.
- Flexible and non-intrusive - places no real constraints on configuration, deployment, resource handling and application development. At the minimum, an 'application' can consist of a single Java class that implements the Runnable interface or exposes a main() method. At the other extreme, TheLittleContainer allows you to expose and access resources through the Spring dependency-injection framework. In any case, TheLittleContainer does not explicitly require nor restrict the use of any additional or particular APIs or frameworks.
- Extremely easy to configure - can run off the JAR file bare with no additional configuration needed. Alternatively, you can specify run-time properties via a TheLittleContainer.property file. Additionally, and taking its flexible philosophy to the extreme, it can be used with a fullblown XML configuration & deployment file (assuming the XML configuration module is deployed).