LLMpediaThe first transparent, open encyclopedia generated by LLMs

Apache TomEE

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Java EE Hop 4
Expansion Funnel Raw 120 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted120
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Apache TomEE
NameApache TomEE
DeveloperApache Software Foundation
Initial release2011
Programming languageJava
Operating systemCross-platform
LicenseApache License 2.0

Apache TomEE is an open-source Java Enterprise Edition (Jakarta EE / Java EE) application server that integrates the lightweight Apache Tomcat servlet container with additional enterprise features from projects such as Apache OpenEJB, Apache OpenWebBeans, and Apache OpenJPA. Designed to provide a small-footprint, standards-compliant runtime, it targets developers familiar with Spring Framework and Hibernate ORM while interoperating with ecosystems like Eclipse MicroProfile and Quarkus. TomEE aims to enable enterprise applications for organizations ranging from startups to enterprises such as Red Hat, IBM, Oracle Corporation, SAP SE, and government agencies using Java SE and Jakarta EE components.

Overview

TomEE offers a combination of Apache Tomcat stability and enterprise services drawn from projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache ActiveMQ, Apache CXF, and Apache Commons. The distribution supports specifications from Jakarta EE, formerly Java EE, providing APIs such as Jakarta Servlet, Jakarta Persistence, Jakarta CDI, Jakarta JMS, and Jakarta JAX-RS. Integration enables deployments from development tools like Eclipse IDE, IntelliJ IDEA, and NetBeans and continuous integration pipelines using Jenkins, GitLab CI/CD, Travis CI, and GitHub Actions.

History and Development

TomEE originated as a community-driven effort during the maturation of Java EE where maintainers of Apache Tomcat and contributors from OpenEJB sought a cohesive runtime. Early contributors included participants associated with Apache Software Foundation, Geronimo, and vendors like IBM and Red Hat. The project matured in parallel with standards work at Eclipse Foundation and the evolution from Java Community Process to Jakarta EE stewardship. Milestones tracked integration with OpenJDK, certification alignments with Java Platform, Enterprise Edition, and compatibility testing in environments used by organizations such as Netflix, LinkedIn, Twitter, and Airbnb.

Architecture and Components

TomEE’s architecture layers Apache Tomcat as the HTTP and servlet engine beneath component stacks: an EJB container from Apache OpenEJB, CDI from Apache OpenWebBeans, JPA from Apache OpenJPA, messaging via Apache ActiveMQ, web services through Apache CXF, and resource management using Apache Commons DBCP and HikariCP. It supports transaction coordination with Bitronix Transaction Manager and Atomikos patterns and integrates security realms aligned with LDAP, Active Directory, and OAuth 2.0 providers such as Keycloak and Okta. Monitoring and observability hook into Prometheus, Grafana, ELK Stack, and APM solutions from New Relic and AppDynamics. Build and packaging use Maven, Gradle, and containerization with Docker and orchestration via Kubernetes and OpenShift.

Editions and Modules

TomEE is distributed in multiple editions including variants that bundle different module sets such as WebProfile and FullProfile analogs, leveraging modules from Apache ActiveMQ Artemis, Apache Camel, Apache Lucene, Hazelcast, and Ehcache where applicable. Optional integrations include connectors for MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, and NoSQL adapters for MongoDB and Apache Cassandra. The modularity enables pairing with frameworks such as Spring Boot, Dropwizard, Micronaut, and Helidon while supporting Jakarta EE modules like Jakarta RESTful Web Services, Jakarta Contexts and Dependency Injection, and Jakarta Enterprise Beans.

Use Cases and Deployment

Common use cases include microservice deployments for companies using Docker Swarm or Kubernetes, legacy monolith modernization in enterprises like Deutsche Bank, Goldman Sachs, and HSBC, and cloud-native applications on platforms such as Amazon Web Services, Microsoft Azure, Google Cloud Platform, and IBM Cloud. TomEE is employed in sectors including finance, healthcare with standards like HL7, telecommunications with vendors like Ericsson and Nokia, and e-commerce platforms powered by Magento integrations. Deployment patterns include blue-green and canary releases orchestrated by Istio, Linkerd, and CI/CD pipelines using Argo CD and Spinnaker.

Performance and Benchmarking

Benchmarking compares TomEE to runtimes such as WildFly, Payara, GlassFish, WebLogic Server, and WebSphere Application Server using suites like SpecjEnterprise, TechEmpower Framework Benchmarks, and custom workload generators such as Gatling and Apache JMeter. TomEE commonly demonstrates low memory footprint and fast startup relative to full-profile servers, benefiting from lightweight Apache Tomcat core optimizations, JVM tuning with HotSpot, and adoption of GraalVM native-image experiments. Performance tuning often involves connection pool configuration, garbage collection strategies using G1 GC or ZGC, and JIT optimizations monitored via Java Flight Recorder and VisualVM.

Community and Governance

The project is governed by the Apache Software Foundation meritocratic model with contributors from companies like Tomitribe, Percona, and independent committers. Community activities include mailing lists, ApacheCon presentations, issue tracking on platforms influenced by JIRA practices, and code hosting workflows on GitHub mirrors and archives managed by Apache Infrastructure. The project collaborates with standards organizations including the Eclipse Foundation and participates in events such as Devoxx, Oracle Code One, FOSDEM, and DevNexus. Contributions follow the Apache License 2.0 contributor agreements and are subject to quality gates similar to those used by OpenJDK and other Apache projects.

Category:Java platform