Apache TomEE

Overview

License GitHub forks GitHub stars

Apache TomEE

Apache TomEE is a lightweight, yet powerful, JavaEE Application server with feature rich tooling.

Is the Java Enterprise Edition of Apache Tomcat (Tomcat + Java EE = TomEE) and currently is a JakartaEE (formerly JavaEE) and Microprofile compliant application server.

The application server is totally open source and created with the community efforts for the public good. Collaborative consensus and peer review according to the Apache Foundation guidelines are used to guarantee the highest quality standards.

Official website: https://tomee.apache.org



To start using TomEE

You can use TomEE to deploy Jakarta EE, Microprofile and Java EE compliant applications.

  • Apache TomEE is distributed 5 different flavors, you can check the comparison table and then proceed to download the distribution for your use case.

  • Documentation and examples are available in the official website.

  • The dozens of application included in the examples/ folder of the project.

To start developing TomEE

TomEE is open source and you can help in its creation.

Apache TomEE is built with Apache Maven >= 3.3.9 and Java 8. The Contribute to TomEE section from the official website for a complete Git, Github, Build, Test, and Continuous Integration details.

Quick build

If you only like to compile all classes and package up TomEE without running tests then you can use the following build options

mvn -Pquick -Dsurefire.useFile=false -DdisableXmlReport=true -DuniqueVersion=false -ff -Dassemble -DskipTests -DfailIfNoTests=false clean install

Full build

This will run all the tests. We have thousands of tests and you should go out to grab a bite in the meantime.

mvn clean install

If you intend building in environments where multicast is not allowed then build with:

mvn clean install -DskipMulticastTests=true

Full build that execute arquillian test on all TomEE distributions:

mvn clean install -Pall-adapters

Partial build

This will only build a module and the modules using it as a dependency.

To build just TomEE distribution execute:

mvn clean install -pl tomee/apache-tomee -am -Dmaven.test.skip=true

TomEE zip/tar.gz will be in tomee/apache-tomee/target

To build TomEE Embedded to be able to develop with its maven plugin execute:

mvn clean install -pl maven/tomee-embedded-maven-plugin -am -Dmaven.test.skip=true

Contributing

The community section from the official website offers details on how you can join the mailing lists, file tickets, fix bugs and start to contribute to the project.

Changelog

List of Jira Releases (*)

(*) You need to login or sign up with a free Apache Jira Account

Comments
  • TOMEE-2324 - Remove Corba ORB APIs from Codebase

    TOMEE-2324 - Remove Corba ORB APIs from Codebase

    What does this PR do?

    As dicussed on the mailing list a few months ago [1], building TomEE with Java 11 fails because of two classes, which depend on CORBA.

    The places in the code-base with CORBA related access are:

    org.apache.openejb.core.OrbFactory
    org.apache.openejb.client.corba.Corbas
    

    This PR aims to handle these two classes by generating them via ASM at compile-time during the Maven build (as suggested by @dblevins).

    For reference, I have attached a version of the decompiled byte-code generated by ASM:

    If this is merged, [2] will be obsolete (due to license issues as discussed in [1]].

    References

    • [1] https://www.mail-archive.com/[email protected]/msg14097.html
    • [2] PR: https://github.com/apache/tomee/pull/664
    opened by rzo1 21
  • TOMEE-2968: Postgres connection error when a password contains

    TOMEE-2968: Postgres connection error when a password contains "}"

    What does this PR do?

    • Adds unit tests to reproduce TOMEE-2968 (also affects 7.0.x and 7.1.x)
    • Single opening curly braces are stripped away in property values as we treat them as suffix placeholders (even in the case, we did not have an opening curly brace). PR proposes a related fix.

    References

    • https://issues.apache.org/jira/browse/TOMEE-2968
    • https://markmail.org/message/vxmm7t5sl33zr4wq
    opened by rzo1 18
  • TOMEE-3871 - TomEE Plume is missing BatchEE / JCS Cache

    TOMEE-3871 - TomEE Plume is missing BatchEE / JCS Cache

    batchee and jcs added in Plume to reflect Plus flavor

    removed xml api from from Plume to reflect Plus flavor remains some jar refs in jar scan exclusions (xerces, xml-apis)

    opened by sultan 12
  • TOMEE-55 - Review alignment for pages that originally had html tables

    TOMEE-55 - Review alignment for pages that originally had html tables

    Fixed the table in the pages according asciidoc syntax. Added new/old page (apache-tomee.adoc) by your relevance. One page (spring-ejb-and-jpa.adoc) were with broken links to old example project (spring-integration) that not belongs to tomee, so the old example project was bring to tomee and links were fixed.

    Link to JIRA: https://issues.apache.org/jira/browse/TOMEE-55

    opened by willesreis 12
  • TOMEE-2917 - Change All WrappingMessage to become serializable

    TOMEE-2917 - Change All WrappingMessage to become serializable

    JIRA: https://issues.apache.org/jira/browse/TOMEE-2917

    Fix Summary: Change all WrappingMessage to implements Serializable and add unique serialVersionUID.

    Notes: There is a business use case which need to persist WrappingTextMessage (or TextMessage) into database. Required WrappingTextMessage to become serializable. TextMessage implementation by both IBM Websphere and Weblogic are serializable. https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.5.0/com.ibm.mq.javadoc.doc/WMQJMSClasses/com/ibm/jms/JMSMessage.html https://docs.oracle.com/middleware/12213/wls/WLAPI/weblogic/jms/common/TextMessageImpl.html

    opened by tingung 11
  • TOMEE-2314 - Code cleanup in modules listed in description

    TOMEE-2314 - Code cleanup in modules listed in description

    This was little to big but next time will make JIRA ticket for each module before start coding

    Modules worked in :

    openejb-multicast, openejb-axis, openejb-common-cli, openejb-ejbd, openejb-server, openejb-webservices, tomee-common,

    Usage of dimond operator, remove unused import and Java Doc

    opened by cicekhayri 11
  • HTTP(s) basic auth failed if password contained ampersand passed via …

    HTTP(s) basic auth failed if password contained ampersand passed via …

    …basic.password URL parameter

    A double-decode bug caused URLDecode to be applied twice to parameters passed in via URL including basic.username and basic.password. The parameters were automatically decoded by the call to URI.getQuery() then again as each parameter was parsed and added to the returned Map in MulticastConnectionFactory.URIs.parseQuery(). parseQuery() splits the query string on the ampersand character then explictly URLDecode's each value. Since URI.getQuery() had already decoded the basic.password parameter, the splitting process in parseQuery truncated the password at the first ampersand character.

    Instead, URI.getRawQuery() should be called to get the still URLEncoded query string. The splitting and subsequent decoding in parseQuery() then correctly extracts the full password from the query string.

    PR contains failing unit test & fix.

    opened by pendor 10
  • TOMEE-4023 Comparison pages with wrong specs per profile

    TOMEE-4023 Comparison pages with wrong specs per profile

    Tomcat does not include JSTL nor the javax.security.enterprise.* packages. The documentation should reflect that, and should have these specs into WebProfile.

    opened by sultan 8
  • Create java-compatibility.adoc [TOMEE-2540]

    Create java-compatibility.adoc [TOMEE-2540]

    This is a live document until TomEE 8.0.0 is released. Till that point of time, any updates (either additions/removal) of Java versions support can be done to this document

    opened by dineshkumarg 7
  • [TOMEE-4128] Jakarta MVC API and Krazo (Impl.) provided in TomEE 9.x 'plume' and 'plus' server flavors

    [TOMEE-4128] Jakarta MVC API and Krazo (Impl.) provided in TomEE 9.x 'plume' and 'plus' server flavors

    This PR modifies the dependencies for plume and plus, adding the following dependencies:

    • Jakarta MVC API
    • Krazo CXF

    this allows an application to avoid depending on the implementation choices (CXF) now an app can depend on the API instead.

    ** please build on CI before merging **

    opened by sultan 1
  • [TOMEE-4128] Jakarta MVC API and Krazo (Impl.) provided in TomEE 8.1.x 'plume' and 'plus' server flavors

    [TOMEE-4128] Jakarta MVC API and Krazo (Impl.) provided in TomEE 8.1.x 'plume' and 'plus' server flavors

    This PR modifies the dependencies for plume and plus, adding the following dependencies:

    • Jakarta MVC API
    • Krazo CXF

    this allows an application to avoid depending on the implementation choices (CXF) now an app can depend on the API instead.

    opened by sultan 2
  • [TOMEE-4115] Tomcat update to 10.1.x

    [TOMEE-4115] Tomcat update to 10.1.x

    Tomcat 10.0 (EE 9) has reach EOL

    EDIT: reworked this PR for TomEE v10 instead.

    this updates tomcat to 10.1.4

    old comment:


    needs either

    • TomEE 9.x become EOL itself in favor of TomEE 10.x OR
    • Update TomEE with tomcat 10.1.2 (EE 10) AND TomEE 9.x goes Jakarta EE 10 compliant OR
    • Update TomEE with tomcat 10.1.2 (EE 10) AND TomEE 9.x stays Jakarta EE 9 compliant (believed better option)

    Quote from Tomcat website

    Apache Tomcat 10.1.x Apache Tomcat 10.1.x is the current focus of development. It implements the Servlet 6.0, JSP 3.1, EL 5.0, WebSocket 2.1 and Authentication 3.0 specifications (the versions required by Jakarta EE 10 platform).

    Apache Tomcat 10.0.x Apache Tomcat 10.0.x implements the Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 and Authentication 2.0 specifications (the versions required by Jakarta EE 9 platform).

    Users of Tomcat 10.0 should be aware that Tomcat 10.0 has now reached end of life. Users of Tomcat 10.0.x should upgrade to Tomcat 10.1.x or later.

    opened by sultan 15
Owner
The Apache Software Foundation
The Apache Software Foundation
Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine l

Oryx Project 1.8k Dec 28, 2022
Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine l

Oryx Project 1.7k Mar 12, 2021
Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning

Oryx 2 is a realization of the lambda architecture built on Apache Spark and Apache Kafka, but with specialization for real-time large scale machine l

Oryx Project 1.8k Dec 28, 2022
Equivalent Exchange 3 Apache 2 Equivalent Exchange 3 pahimar Equivalent-Exchange-3. Mods for Minecraft. License: Apache 2 , .

Welcome to Equivalent Exchange 3! All versions are available here Minecraft Forums page Compiling EE3 - For those that want the latest unreleased feat

Rob Davis 709 Dec 15, 2022
Apache Solr is an enterprise search platform written in Java and using Apache Lucene.

Apache Solr is an enterprise search platform written in Java and using Apache Lucene. Major features include full-text search, index replication and sharding, and result faceting and highlighting.

The Apache Software Foundation 630 Dec 28, 2022
FLiP: StreamNative: Cloud-Native: Streaming Analytics Using Apache Flink SQL on Apache Pulsar

StreamingAnalyticsUsingFlinkSQL FLiP: StreamNative: Cloud-Native: Streaming Analytics Using Apache Flink SQL on Apache Pulsar Running on NVIDIA XAVIER

Timothy Spann 5 Dec 19, 2021
Apache Cayenne is an open source persistence framework licensed under the Apache License

Apache Cayenne is an open source persistence framework licensed under the Apache License, providing object-relational mapping (ORM) and remoting services.

The Apache Software Foundation 284 Dec 31, 2022
Spark-Crawler: Apache Nutch-like crawler that runs on Apache Spark.

Sparkler A web crawler is a bot program that fetches resources from the web for the sake of building applications like search engines, knowledge bases

USC Information Retrieval & Data Science 396 Dec 17, 2022
Apache ORC - the smallest, fastest columnar storage for Hadoop workloads

Apache ORC ORC is a self-describing type-aware columnar file format designed for Hadoop workloads. It is optimized for large streaming reads, but with

The Apache Software Foundation 576 Jan 2, 2023
Apache Calcite

Apache Calcite Apache Calcite is a dynamic data management framework. It contains many of the pieces that comprise a typical database management syste

The Apache Software Foundation 3.6k Dec 31, 2022
Apache Druid: a high performance real-time analytics database.

Website | Documentation | Developer Mailing List | User Mailing List | Slack | Twitter | Download Apache Druid Druid is a high performance real-time a

The Apache Software Foundation 12.3k Jan 1, 2023
Mirror of Apache Deltaspike

Apache DeltaSpike Documentation Mailing Lists Contribution Guide JIRA Apache License v2.0 Apache DeltaSpike is a suite of portable CDI Extensions inte

The Apache Software Foundation 141 Jan 1, 2023
Apache Geode

Contents Overview How to Get Apache Geode Main Concepts and Components Location of Directions for Building from Source Geode in 5 minutes Application

The Apache Software Foundation 2.2k Dec 30, 2022
Apache Wicket - Component-based Java web framework

What is Apache Wicket? Apache Wicket is an open source, java, component based, web application framework. With proper mark-up/logic separation, a POJO

The Apache Software Foundation 657 Dec 31, 2022
Apache Dubbo is a high-performance, java based, open source RPC framework.

Apache Dubbo Project Apache Dubbo is a high-performance, Java-based open-source RPC framework. Please visit official site for quick start and document

The Apache Software Foundation 38.3k Jan 9, 2023
A high performance replicated log service. (The development is moved to Apache Incubator)

Apache DistributedLog (incubating) Apache DistributedLog (DL) is a high-throughput, low-latency replicated log service, offering durability, replicati

Twitter 2.2k Dec 29, 2022
The Apache Software Foundation 3k Jan 4, 2023
Apache Spark - A unified analytics engine for large-scale data processing

Apache Spark Spark is a unified analytics engine for large-scale data processing. It provides high-level APIs in Scala, Java, Python, and R, and an op

The Apache Software Foundation 34.7k Jan 2, 2023