Geronimo
Apache Geronimo is an open-source Java EE (now Jakarta EE) application server developed by the Apache Software Foundation.
Geronimo 2 is currently compatible with the Java Enterprise Edition (Java EE) 5.0 specification such as JDBC, RMI, e-mail, JMS, web services, XML, Enterprise JavaBeans, Connectors, servlets, portlets and JavaServer Pages. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Geronimo 3 is compatible with Java EE 6.0.
Like an enterprise operating system, Geronimo is built on a kernel—a microkernel that lays the foundation for everything above it. Geronimo's kernel is Java EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by an architectural design that is based on the concept of Inversion of Control (IoC) (sometimes called Dependency Injection), which means that the kernel has no direct dependency on any of its components. The kernel is a framework for services that controls the service life cycle and registry. The kernel is based on Java EE. It works with Java EE services and components to build specific configurations—one of which is a full Java EE solution stack.
The open source components that are included in Geronimo are: Tomcat, Jetty, ActiveMQ, OpenEJB, ServiceMix, OpenJPA, MyFaces, Axis, Scout, CXF, Derby, WADI, MX4J.
Architecture of Geronimo
Geronimo is highly modular. Instead of building everything from scratch, it integrates existing Apache projects.
Key Components
• Web container → Apache Tomcat or Jetty
• EJB container → OpenEJB
• Messaging → Apache ActiveMQ
• Persistence → OpenJPA
• Transactions → Built-in JTA manager
Think of Geronimo as a bundle of best-of-breed Apache tools.
Key Features of Geronimo
Full Java EE Support
Supports:
• Servlets, JSP
• EJB
• JPA
• JMS
• JTA (transactions)
Modular Design
You can swap components like:nTomcat ↔ Jetty
Pluggable Architecture
Built using a plugin system (GBeans)
Open Source
No licensing cost
Why Was It Created?
Back when enterprise Java was dominated by expensive servers like:
• WebLogic Server
• WebSphere Application Server
Geronimo aimed to:
• Provide a free alternative
• Maintain full Java EE compliance
• Be flexible and modular
Advantages
Fully Open Source Enterprise Server
No vendor lock-in.
Modular & Flexible
You can customize components.
Standards-Based
Pure Java EE implementation.
Integration-Friendly
Works well with Apache ecosystem tools.
Disadvantages (Important)
Now Largely Inactive / Deprecated
Geronimo is no longer actively developed.
Outdated Technology Stack
Does not support modern Jakarta EE versions.
Complex Configuration
Compared to modern frameworks.
Replaced by Better Alternatives
Such as:
• Apache TomEE
• WildFly
• Spring Boot