Caution Snapshot builds are not supported for production use

Snapshot builds are provided for the purpose verifying fixes and participating in the development cycle by evaluating new features and improvements and giving feedback. The community will happily support your use of snapshots for development purposes with the mutual understanding all builds are works in progress and subject to change.

 

Web Profile

Apache TomEE Web Profile delivers Servlets, JSP, JSF, JTA, JPA, CDI, Bean Validation and EJB Lite

Comparison »


JAX-RS

Apache TomEE JAX-RS delivers the Web Profile plus JAX-RS

Comparison »


Plus

Apache TomEE Plus delivers all that is in the Web Profile and JAX-RS, plus EJB Full, Java EE Connector Architecture, JMS and JAX-WS.

Comparison »

 

Standalone

An "EJB" Server that can be run as a separate, standalone, server process. Contains EJB Full, CDI, JPA, JMS, JAX-WS, JAX-RS

Comparison »

Drop-in WARs

A version of Apache TomEE that can be dropped into any Tomcat 7.x install effectively creating your own Apache TomEE Web Profile or Apache TomEE Plus.

 

Upgrades

New Features

  • TOMEE-795 ProvisioningWebappLoader
  • TOMEE-794 skinny war support with a standard XML descriptor in the WEB-INF containing all the maven coordinates of jars to add to the classpath
  • TOMEE-932 ability to configure the classloading strategy for ear lib part
  • TOMEE-790 resources.xml in web-inf/classes/meta-inf ignored
  • TOMEE-779 ability to configure if the global default jpa provider should override or not the specified ones
  • TOMEE-778 provide basic command for tomee maven plugin
  • TOMEE-777 PropertiesPlaceHolder should support env var as it supports system props
  • TOMEE-961 Adding Unit Tests for SimpleTomEEFormatter
  • TOMEE-880 remote deployment of application through tomee maven plugin
  • TOMEE-785 ability to configure TimerStore class
  • TOMEE-787 ClassLoaderConfigurer based on ProvisioningUtil class
  • TOMEE-881 cxf doesn't use the right classloader for requests
  • TOMEE-788 tomee embedded doesn't fall back to classpath deployment if no modules are found through EJBContainer.MODULES
  • TOMEE-749 basic config for cdi interceptors/alternatives/decorators in @Classes
  • TOMEE-699 managing fake webapp context for webservices in lib part of ears or jars (with no war)
  • TOMEE-975 look in WEB-INF/classes/META-INF as well as WEB-INF for descriptors
  • TOMEE-974 support ssl in tomee embedded
  • TOMEE-1000 simple openejb-hessian module for @Remote EJBs
  • TOMEE-752 add a MinimumErrorReportValve to hide server info printed by default error report valve
  • TOMEE-759 mvn tomee:start don't wait startup
  • TOMEE-979 basic openejb-concurrency-utilities-ee module (JSR 236)
  • TOMEE-763 tomee maven plugin to define the context of current war without playing with finalName
  • TOMEE-1037 Example: RESTful Moviefun Application
  • TOMEE-1034 ability to preload classes in arquillian adapters
  • TOMEE-1040 Abstract Dynamic Beans
  • TOMEE-1041 add basic integration with maven in ziplock
  • TOMEE-1049 support XADataSources
  • TOMEE-716 tomee maven plugin reloadOnUpdate feature works only if the standardcontext reloadable (no more the default)
  • TOMEE-715 synchronization for ear in tomee maven plugin
  • TOMEE-710 basic ability to deploy a rar from a war
  • TOMEE-713 support cdi javax.ws.rs.core.Application
  • TOMEE-714 WebContext#inject doesn't clean up creationalContext
  • TOMEE-1070 Allow multiple SSL configuration for EJBClient connection
  • TOMEE-1064 allow to configure schema locations and wsldurl on soap cxf endpoints
  • OPENEJB-2040 Publish JMX information for JAX-RS endpoints
  • OPENEJB-2041 Publish JMX information for JAX-WS web services
  • OPENEJB-1987 ability to deploy at arquillian container startup a ShrinkWrap Archive
  • OPENEJB-2001 openejb embedded arquillian adapter not compatible with cucumber because of archive:// urls
  • OPENEJB-2028 support old name lookup through context injected with @AppResource using the ApplicationComposer
  • OPENEJB-2005 allow to merge all application exceptions
  • OPENEJB-1984 no session management in embedded http layer
  • OPENEJB-1985 basic managedconnection validation for JCA implementation
  • OPENEJB-1982 no webcontext created when using openejb arquillian adapter + no webmodule created
  • OPENEJB-1983 embedded http layer doesn't handle HEAD
  • OPENEJB-1980 request with application/x-www-form-urlencoded content type have no servletinputstream in openejb-http
  • OPENEJB-1981 Add ApplicationComposer inspired class to run TestNG tests
  • OPENEJB-2039 Implement Pojo Web Service support in Embedded mode
  • OPENEJB-2011 ability to specify a component through properties

Improvements

  • TOMEE-905 allow to skip sql import through system property "openejb.sql.import"
  • TOMEE-910 be more tolerant to @Remote calls without api sharing
  • TOMEE-914 exclude tools.jar by default (from jdk)
  • TOMEE-654 Add tomee.bat to match tomee.sh
  • TOMEE-927 Support Maven Coordinates in Provisioning
  • TOMEE-796 try to use repo1 to find a mvn location if resolver not available
  • TOMEE-933 exploded war of ear unpacked in the ear exploded dir rescanned
  • TOMEE-793 use cxf of the container to deploy JavaEE webservices
  • TOMEE-934 webapp bean manager (in ear) binding not correct
  • TOMEE-792 propagating host to webcontext since it can be useful for matching (of WBC for instance)
  • TOMEE-935 some webapp persistence.xml missing in stored info makes persistence.xml deployed twice when in WEB-INF
  • TOMEE-938 tomee-embedded doesn't always find the correct cdi bean manager even when there is a single application
  • TOMEE-946 rest in ear can lead to NPE
  • TOMEE-776 IllegalArgumentException when creating persistence module in eclipse
  • TOMEE-775 tomee embedded arquillian adapter doesn't set initial context in arquillian contexts
  • TOMEE-774 app resources (resources.xml) can conflict between apps
  • TOMEE-780 ensure redeploy feature of tomcat (##001) can work
  • TOMEE-967 Re-factoring of Simple-Singleton example
  • TOMEE-966 see if a json config file would work
  • TOMEE-782 quartz timers (EjbTimerService) are not persistent
  • TOMEE-784 multiple application for JAXRS is not supported with default configuration
  • TOMEE-786 resource local persistence unit doesn't need JTA datasource by default
  • TOMEE-748 use StrSubstitutor of commons-lang3 to implement our PropertyplaceHolder
  • TOMEE-978 ear deployment of webapp soap webservices only works when done at startup
  • TOMEE-896 Specify portable global JNDI name of all EJBs in log on startup of TomEE
  • TOMEE-898 Bean Validation Test (bean-validation-design-by-contract) is in the wrong package
  • TOMEE-970 if a user configured a custom loader class (but not a custom loader) let use it
  • TOMEE-755 @Asynchonous pool is never stopped
  • TOMEE-1005 tomee maven plugin conf/lib/bin directory needs to be called conf/lib/bin otherwise files are not copied correctly
  • TOMEE-751 statinterceptor added twice for singleton
  • TOMEE-761 org.apache.cxf.transport.endpoint.address not set on request for rest endpoints (means the host/port are not dynamic in UriInfo)
  • TOMEE-767 add more exclusions one known bug jars (groovy, openmdx, PDFBox, smack, xmlbeans)
  • TOMEE-981 Improved Observer error logging
  • TOMEE-769 in ear don't scan multiple times parent jars
  • TOMEE-768 for exclusions test if version was removed from the jar name
  • TOMEE-764 ignoring webapps already extracted when removing default webapps with tomee maven plugin
  • TOMEE-745 propagate new sessionId when it changes because of login to OWB (session scoped beans)
  • TOMEE-1035 Fix examples to work in IDE, outside of Maven
  • TOMEE-1032 javaagent doesn't handle WEB-INF/persistence.xml
  • TOMEE-1033 Fill out ZipLock Utilities
  • TOMEE-1047 allow to use resource as jta-data-source in persistence unit which are not
  • TOMEE-727 Optimized reading of xml deployment descriptors
  • TOMEE-719 revisit DynamicMBeanWrapper to cache internal metadatas + avoid direct dependency on javassist
  • TOMEE-1024 @Description on operation parameters
  • TOMEE-1025 Queue and Topic are not typed Destination (jmx one) in service-jar.xml
  • TOMEE-705 Improved REST logging shows application, components and operations
  • TOMEE-707 better help mojo for tomee mvn plugin
  • TOMEE-708 tomee maven plugin doesn't support null value for system variables
  • TOMEE-701 in ear webapp ejbs are not deployed in cdi context
  • TOMEE-700 tomee maven plugin stop command can use socket stop
  • TOMEE-505 OpenEJB DeploymentId improvement
  • TOMEE-1058 Expose configurable classpath parameter
  • TOMEE-1050 if beans.xml uses jboss or urn:java (candi) namespaces ignore them
  • TOMEE-1051 Avoid as much as possible conflicts between arquillian servlet protocol and applications
  • TOMEE-1068 tomee.cluster.deployment property to activate cluster deployment
  • OPENEJB-1991 resources.xml ignored in openejb embedded arquillian adapter
  • OPENEJB-1990 ability to force the jul config reload
  • OPENEJB-2043 MulticastPulse discovery is not performing well on busy server
  • OPENEJB-2003 better heuristic to find a validator/validatorfactory in embedded mode when not in a ThreadContext
  • OPENEJB-2002 with openejb arquillian adaptor findResource can be in WEB-INF or / for WebArchives
  • OPENEJB-2023 Tuning the jvm memory in jvm mode can only be performed by the service deamon
  • OPENEJB-2022 don't create an application classloader if not mandatory (classpath deployment) in embedded mode
  • OPENEJB-2037 can't configure logging from EJBContainer

Bugs

  • TOMEE-902 restricted deployment
  • TOMEE-909 get rid of CdiInterceptor
  • TOMEE-908 RemoteInitialContextObserver of our arquillian module can lead to start an embedded container
  • TOMEE-907 WARNING - Could NOT lazily initialize session context because of null RequestContext
  • TOMEE-906 when logging sql statements null leads to NPE
  • TOMEE-911 when deploying a @WebService in ROOT.war the webapp context is not found
  • TOMEE-646 Commons-logging issue
  • TOMEE-916 rework webapp bean manager since owb 1.2 is in the house
  • TOMEE-915 ear lib scanning should be done even with ejbmodule (at least for jsf stuff)
  • TOMEE-918 ApplicationException are not unwrapped in jaxrs integration so ExceptionMapper are not called
  • TOMEE-917 localbeanproxy classs should use $$ and not $ (subclass)
  • TOMEE-919 localbeanproxies don't accept inner class checked exceptions in signature
  • TOMEE-921 cxf clients can't use app classes
  • TOMEE-922 when using DeployerEjb don't save the deployment by default
  • TOMEE-923 Embedded Container should not scan classes outside of deployment
  • TOMEE-929 support manual urls in jars.txt
  • TOMEE-928 jarstxt maven plugin doesn't support classifier
  • TOMEE-797 basic maven plugin to generate jars.txt files
  • TOMEE-798 without any transaction query objects issued from managed entitymanagers are wrongly handled leading the not make unmanaged entities which should be in this state
  • TOMEE-931 cxf jaxrs providers are not always used when set in conf/system.properties
  • TOMEE-930 provide a way to configure roles used in fake context created for jaxws
  • TOMEE-939 Deploy time enhancement misses some jar so it leads to ClassNotFoundException
  • TOMEE-936 special enrichment of ear lib part should contains org.apache.tomee.catalina.TomEEClassLoaderEnricher#DEFAULT_PREFIXES_TO_ADD too when in tomee
  • TOMEE-937 local bean proxies not pre initialized for webapp in ears (error on deserialization: java.lang.ClassNotFoundException: org.foo.MyLocalBean$$LocalBeanProxy)
  • TOMEE-942 skip linux so in scanning
  • TOMEE-943 if openejb.quartz.use-TCCL is configured ensure it is correctly initialized without supposing anything of TCCL
  • TOMEE-944 [quartz] be a bit tolerant if the user uses a StdJdbcDriver and replace it by one version using the right classloader
  • TOMEE-945 use tomcat classloader validate() method to map our URLClassLoaderFirst.shouldSkip
  • TOMEE-940 internal ManagedBean usage should be local bean usage only
  • TOMEE-948 in ear ejb declared in webapps as webservices are not deployed
  • TOMEE-952 add some sample to configure tomee specific logging in logging.properties
  • TOMEE-951 fine log level not supported
  • TOMEE-878 AutoConfigResourceRefsTest is broken
  • TOMEE-877 ParentClassLoaderFinder default strategy is broken for embedded OpenEJB
  • TOMEE-956 NPE in openejb javaagent ends with no enhancement
  • TOMEE-772 if cdi context are restarted manually through OWB api app context is no more active
  • TOMEE-955 @MBean handling should ensure the app id is not empty
  • TOMEE-771 in eclipse context is not honored by OpenEJBContextConfig when is /
  • TOMEE-954 using manager of tomcat openejb loggers uses old config and doesn't log anymore
  • TOMEE-770 tomee mdbs can be lost in classlaoder, we should use at least the beancontext one
  • TOMEE-888 @Context not available in cdi beans
  • TOMEE-889 AMQ internal broker is always created (or try to be created) even when not used
  • TOMEE-965 allow cxf jax-rs "service" configuration (for providers for instance) to be looked into global configuration (tomee.xml/openejb.xml)
  • TOMEE-964 SL4J Linkage Error
  • TOMEE-886 webapp ejb are not bound in jndi when packaged in ear
  • TOMEE-783 VirtualWebAppClassLoader doesn't work
  • TOMEE-789 tomee embedded default provider url is the openejb one and not the tomee one
  • TOMEE-968 allow to override principal for a @RunAs role
  • TOMEE-969 @RunAs not always respected when @RunAs bean is not the first one called
  • TOMEE-750 @Context in cdi interceptors
  • TOMEE-895 Cannot inject no-interface scala local bean
  • TOMEE-894 rest-example doesn't follow specs at all
  • TOMEE-972 try to not depend on openejb-provisioning (which uses aether) in arquillian by default
  • TOMEE-758 org.apache.commons.logging.impl.Log4JLogger doesn't work
  • TOMEE-756 precompiled jsp cannot be loaded
  • TOMEE-1001 @BindingType is not respected for EJBs
  • TOMEE-754 bad clean up of thread locals (cdi)
  • TOMEE-893 ear lib part should keep Comp bean to get EE CDI injections
  • TOMEE-1002 web-fragment.xml are only read by tomcat so jndi config doesn't work
  • TOMEE-892 ensure java:global is installed with the container and not lazily
  • TOMEE-891 AppResource doesn't init resources
  • TOMEE-1004 order of modules in ear is not predictable
  • TOMEE-890 don't override destinationType for mdbs if already provided and mapped name not empty
  • TOMEE-986 resources.xml + web-fragment.xml not always linked
  • TOMEE-989 TomEEDataSource shouldn't use tomcat jmx stuff but its own one to avoid duplication and get a normal shutdown
  • TOMEE-760 CdiEjbBean are not passivationcapable
  • TOMEE-988 no more need of hack for hashcode in tomee datasource (done in tomcat now) + create proxies with server loader to avoid leaks
  • TOMEE-983 openwebbeans optional services uses container classloader and not app classloader
  • TOMEE-985 jaxrs servlet doesn't support async
  • TOMEE-984 myfaces is mandatory
  • TOMEE-766 Unable to deploy: java.lang.OutOfMemoryError: GC overhead limit exceeded
  • TOMEE-980 env entries not propagated in ApplicationComposer if added to a WebApp
  • TOMEE-765 CXF 2.6.9 (security fix of cxf 2.6.6)
  • TOMEE-747 arquillian tomee enricher doesn't work well with jars
  • TOMEE-744 @Asynchronous ejb call should propagate security principal
  • TOMEE-842 cdi objects or ejb local beans serialized in session can't be unserialized at startup
  • TOMEE-1038 when auto creating a resource by copy (jta -> non-jta for instance) we should skip Definition
  • TOMEE-840 Stating via EJBContainer blows up when an inner class is in the caller chain
  • TOMEE-839 @Stateless EJBs which are also @WebService annotated don't get picked up in embedded mode
  • TOMEE-838 temporal config of tomee-jdbc not consistent
  • TOMEE-837 TomEE DataSource configuration does not honour actual configuration
  • TOMEE-1029 env-entry for WebServices are not processed in TomEE
  • TOMEE-1028 openejb-http sessions are created for each request
  • TOMEE-992 allow to specify how parameters and result is serialized in ejbd protocol
  • TOMEE-997 add ejbd client property (passed to remote initial context factory) to login/logout the specified user by request and not at lookup (openejb.ejbd.authenticate-with-request=true)
  • TOMEE-1048 EJB timer can't be redeploy on the fly (= you need to stop/start the server)
  • TOMEE-998 [cxf] databinding can't be configured specifying class name directly
  • TOMEE-999 cxf databinding is not propagated to the service (only propagated to the server) for JAXWS endpoints
  • TOMEE-1046 allow to deploy a resource adapter N times
  • TOMEE-993 allow to deploy webservices as @remote with a flag -Dopenejb.jaxws.add-remote=true
  • TOMEE-1044 ManagedConnection uses == to compare transactions but should use equals cause TransactionWrapper can make it false
  • TOMEE-832 mdb of ear only use right classloader if deployed at startup
  • TOMEE-994 EjbDaemon is a singleton which doesn't make sense since there are 3 ejbd protocol usages (ejbd, ejbds, httpejbd)
  • TOMEE-1045 tomee maven plugin undeploy goal doesn't handle unpacking so needs another path than the one provided to deploy
  • TOMEE-833 server event in ear needs event in common.loader
  • TOMEE-995 ejbd config is ignored in tomee by default
  • TOMEE-834 javax.mail package loading shouldn't be delegated to parent classloader
  • TOMEE-996 clean up SecurityServiceImpl contexts
  • TOMEE-1043 system properties not well respected if no arquillian-tomee.properties found in classpath using arquillian adapters
  • TOMEE-1039 derby embeddeddatasource not yet managed using @DataSourceDefinition
  • TOMEE-1010 ejbtimer not always shutdown correctly (in webapp alone case)
  • TOMEE-1011 TimerStore shouldn't be serialized, it is a kind of singleton by ejbtimerservice
  • TOMEE-1012 ability to change RejectedExecutionHandler class for async pools
  • TOMEE-1013 ContextNotActiveException using TomEE embedded into Arquillian
  • TOMEE-1014 ability to remove tomee webapp but keep ejb remote support
  • TOMEE-1016 ejb which are rest services are deployed for all webapps in ears
  • TOMEE-1007 tomee maven plugin doesn't respect context name when the warFile is not a file but a directory
  • TOMEE-1006 servlets with init-param javax.ws.rs.Application fail
  • TOMEE-1009 request thread local is cleared too early when using http session to store @SessionScoped bean instances
  • TOMEE-1008 EJBContainer doesn't tolerate null as parameter
  • TOMEE-1023 application.xml env-entries not always merged in EJBs
  • TOMEE-1020 support creating JAXRS providers from a constructor with @Context injections
  • TOMEE-1019 openejb.session-context not read from system.properties
  • TOMEE-1017 webfragments always override existing entries (env-entry, datasource...)
  • TOMEE-709 tomee maven plugin ignores password
  • TOMEE-1078 Web app won't start without web.xml
  • TOMEE-703 tomee-jdbc doesn't manage correctly jdbcInterceptors property
  • TOMEE-1053 @javax.servlet.annotation.HandlesTypes never respected
  • TOMEE-1055 not supported
  • TOMEE-1057 @ApplicationException ignored when not registered from ejb-jar.xml
  • TOMEE-1059 Can't overwrite StandardContext with Arquillian
  • TOMEE-1052 SEVERE: Failed to start ActiveMQ -- when TomEE is configured to use external activemq broker
  • TOMEE-1067 web.xml parsing error on tomee startup
  • TOMEE-1065 @ArquillianResource doesn't work with ear even when there is a single war
  • TOMEE-1069 rar resources are not undeployed with rar application
  • TOMEE-1060 cxf should use a single httpTransportFactory for cxf (as much as bus in fact)
  • OPENEJB-2046 @Asynchronous calls on void methods mask failing authentication
  • OPENEJB-2044 Single Action Timer created in @PostConstruct fails to start
  • OPENEJB-2019 allow to inject @ArquillianResource URL with openejb embedded arquillian adapter
  • OPENEJB-2042 Possible null pointer dereference in OpenEjb2Conversion
  • OPENEJB-1988 session and request scopes not managed at all in http light layer
  • OPENEJB-2021 cxf-rs doesn't support realm/auth config as cxf (soap) module
  • OPENEJB-2020 openejb-standalone doesn't support rest deployment
  • OPENEJB-2027 @DataSourceDefinition with custom properties are not working
  • OPENEJB-2026 exception can be ignored in logs in embedded mode
  • OPENEJB-2029 support Openejb as returned type for @Configuration in ApplicationComposer
  • OPENEJB-2025 in embedded mode comp/env is very often broken when not in tomee and not in an ejb
  • OPENEJB-2006 EjbRequestHandler fails to disassociate security on all errors
  • OPENEJB-1978 Unable to deploy anything to a fresh install of 4.5.1
  • OPENEJB-2032 embedded HttpRequestImpl#getRequestURL implementation does not respect servlet API
  • OPENEJB-2031 openejb-mockito depends on "old" openjpa
  • OPENEJB-2014 During tests with ApplicationComposer "Cannot send event to bean in non-active context"
  • OPENEJB-2012 Redeploying persistence unit uses/adjusts to old DataSource names
  • OPENEJB-2038 embedded http request doesn't support custom http methods and OPTIONS/PATCH
  • OPENEJB-2018 Infinite loop in OpenEJBTransactionService causing StackOverflowError during CDI event firing
  • OPENEJB-2034 URISyntaxException when defining a PersistenceUnit through ApplicationComposer
  • OPENEJB-2033 AmbiguousResolutionException if @Alternative is used togeter with @Stateful

Tasks & Sub-Tasks

  • TOMEE-949 use xbean asm4 shade
  • TOMEE-675 Enhance tomee archetype with a jsf jpa crud
  • TOMEE-950 remove tomee-webapp context.xml
  • TOMEE-884 wsdl4j shouldn't be mandatory in webprofile distribution
  • TOMEE-977 jaxrs + jaas example
  • TOMEE-973 when persistence.xml is in WEB-INF/classes/META-INF rootUrl is wrong
  • TOMEE-987 Example: Asynchronous @PostConstruct pattern
  • TOMEE-704 setup arquillian-tck for tomee-remote
  • OPENEJB-2045 Understand occasional ClassNotFoundException in EjbObjectInputStream