Apache OpenEJB version 3.0-beta-1 Release Notes September 26th, 2007 New Features: * [OPENEJB-690] Hot deploy and undeploy via command line tool * [OPENEJB-689] Enterprise JavaBeans 3.0 support * [OPENEJB-606] Commons DBCP Managed Data Sources * [OPENEJB-458] META-INF/env-entries.properties * [OPENEJB-451] openejb.xml to properties converter * [OPENEJB-304] EAR Deployment support for EJBs and AppClients * [OPENEJB-261] Embedded EJB Container for Unit Tests * [OPENEJB-260] Automatic Configuration for Simple Apps * [OPENEJB-216] Annotation-based Deployment * [OPENEJB-132] New Tomcat/OpenEJB integration * [OPENEJB-128] EJBd over HTTP -- ejb invocations over http protocol * [OPENEJB-123] CMP 2.x support via JPA * [OPENEJB-98] Dependency Injection * [OPENEJB-90] Business Interface support * [OPENEJB-89] EJB 2.1 <-> 3.0 compatibility * [OPENEJB-79] Interceptors Improvements: * [OPENEJB-47] Support for common Exceptions serialization issues * [OPENEJB-429] Support for Network servlces while Embedded * [OPENEJB-425] Support for JPA runtime class enhancement * [OPENEJB-414] ActiveMQ Broker ServerService * [OPENEJB-692] JAAS and JACC Security * [OPENEJB-573] Support for JSR-77 j2ee management MEJB * [OPENEJB-389] Deployment support for EJB jar files without ejb-jar.xml files * [OPENEJB-452] Support for partially complete openejb-jar.xml files * [OPENEJB-336] Derby support * [OPENEJB-691] Adaptive logging for embedded and standalone modes * [OPENEJB-561] Stateless and Stateful pools on a per ejb basis * [OPENEJB-337] Derby Network Service Tasks & Sub-Tasks: * [OPENEJB-591] "Hungry Exception" cleanup. * [OPENEJB-398] @Stateless and @Stateful EJB 3 support * [OPENEJB-447] Ability for remote server to pickup new deployments as they are added * [OPENEJB-675] Add support for logging being configured externally * [OPENEJB-605] Allow more info in authentication request * [OPENEJB-427] Allow multiple URIs in the ServerMetaData object to provide for clustering * [OPENEJB-446] App undeploy * [OPENEJB-78] Business Method: AroundInvoke * [OPENEJB-406] EJB3 equals() and hashCode() support for business interface proxies * [OPENEJB-369] EJBContext.getTimerService() * [OPENEJB-368] EJBContext.lookup * [OPENEJB-404] EJBHome.create style invoke * [OPENEJB-405] EntityBean.ejbHome method support * [OPENEJB-83] Expand protocol for non-ejb specific interfaces * [OPENEJB-624] Extract Logger Categories to a separate interface * [OPENEJB-80] InvocationContext * [OPENEJB-77] Lifecycle Callbacks: PostActivate/PrePassivate * [OPENEJB-76] Lifecycle Callbacks: PostConstruct/PreDestroy * [OPENEJB-308] META-INF/lib or APP-INF/lib for third-party jars in EARs * [OPENEJB-85] Non-EJBLocalObject local proxies for in-vm use * [OPENEJB-84] Non-EJBObject remote proxies for in-vm use * [OPENEJB-627] Refactor Logging API to tighten Logger creation * [OPENEJB-442] Stateful Session Bean Extended Persistence Context * [OPENEJB-558] Upgrade ActiveMQ to 4.1.1 * [OPENEJB-265] Upgrade XBean to 2.6 * [OPENEJB-686] Use released openjpa 1.0.0 * [OPENEJB-441] javax.transaction.TransactionSynchronizationRegistry * [OPENEJB-523] @Remove invocation on home.remove or remote.remove * [OPENEJB-130] Automated Tomcat testing on Mac OSX and Linux * [OPENEJB-416] CMP2JPA: CMP 1.x beans * [OPENEJB-417] CMP2JPA: CMP 2.x cmp-fields * [OPENEJB-421] CMP2JPA: CMP 2.x ejbSelect * [OPENEJB-420] CMP2JPA: CMP 2.x many-to-many * [OPENEJB-419] CMP2JPA: CMP 2.x one-to-many * [OPENEJB-418] CMP2JPA: CMP 2.x one-to-one * [OPENEJB-541] CMP2JPA: Complex Primary Key * [OPENEJB-415] CMP2JPA: Create JPA based CMP container based on Castor container * [OPENEJB-422] CMP2JPA: Generate CMP 2.x concrete class for JPA * [OPENEJB-424] CMP2JPA: Generate entity-mapping.xml using OpenEJB 2.x openejb-jar.xml file * [OPENEJB-423] CMP2JPA: Generate entity-mapping.xml using ejb-jar.xml file * [OPENEJB-542] CMP2JPA: Unknown Primary Key * [OPENEJB-87] Class-level Interceptors * [OPENEJB-108] Create javax.ejb classes, interfaces, enums, and annotations * [OPENEJB-109] Create javax.persistence classes, interfaces, enums and annotations * [OPENEJB-99] Dependency Injection: Public field * [OPENEJB-100] Dependency Injection: Setter * [OPENEJB-520] EJB 3 Pojo Session beans with EJB 2.1 Home and Remote interfaces * [OPENEJB-521] EJB 3 Pojo Session beans with EJB 2.1 LocalHome and Local interfaces * [OPENEJB-522] EJB 3 Stateful beans with init-method/@Init * [OPENEJB-380] ENC: message-destination-ref: javax.jms.Queue * [OPENEJB-381] ENC: message-destination-ref: javax.jms.Topic * [OPENEJB-382] ENC: persistence-context-ref * [OPENEJB-383] ENC: persistence-unit-ref * [OPENEJB-377] ENC: resource-env-ref: javax.ejb.SessionContext * [OPENEJB-378] ENC: resource-env-ref: javax.jms.Queue * [OPENEJB-379] ENC: resource-env-ref: javax.jms.Topic * [OPENEJB-374] ENC: resource-ref: java.net.URL * [OPENEJB-375] ENC: resource-ref: javax.jms.QueueConnectionFactory * [OPENEJB-376] ENC: resource-ref: javax.jms.TopicConnectionFactory * [OPENEJB-373] ENC: resource-ref: javax.mail.Session * [OPENEJB-356] Example: @Resource for Setter Injection * [OPENEJB-347] Example: Minimal Stateful Bean via @Stateful * [OPENEJB-346] Example: Minimal Statetless Bean via @Stateless * [OPENEJB-357] Example: Using @EJB to refer to other EJBs * [OPENEJB-96] Global JNDI Business Interface references * [OPENEJB-610] Hot deploy tool * [OPENEJB-102] Injection of EJB References * [OPENEJB-101] Injection of Environment Entries * [OPENEJB-105] Injection of Message Destination References * [OPENEJB-107] Injection of Persistence Context References * [OPENEJB-106] Injection of Persistence Unit References * [OPENEJB-104] Injection of Resource Environment References * [OPENEJB-103] Injection of Resource Manager Connection Factory References * [OPENEJB-544] Interceptor Chain * [OPENEJB-214] Interceptor: Lifecycle Callbacks: PostActivate/PrePassivate * [OPENEJB-543] InvocationContext * [OPENEJB-95] JNDI ENC Business Interface references * [OPENEJB-93] Local business interfaces via IntraVM Server * [OPENEJB-532] MessageDriven "onMessage" Interception * [OPENEJB-211] MessageDriven Bean: Lifecycle Callbacks: PostConstruct/PreDestroy * [OPENEJB-533] MessageDriven Lifecycle Interception * [OPENEJB-88] Method-level Interceptors * [OPENEJB-86] Package-level Interceptors (aka Default Interceptors) * [OPENEJB-119] Port BMP Container * [OPENEJB-121] Port MDB Container * [OPENEJB-118] Port Stateful Container * [OPENEJB-117] Port Stateless Container * [OPENEJB-91] Remote business interfaces via EJBd Server * [OPENEJB-92] Remote business interfaces via IntraVM Server * [OPENEJB-94] SessionContext.getBusinessObject(interface) * [OPENEJB-97] SessionContext.getInvokedBusinessInterface * [OPENEJB-213] Stateful Bean: Lifecycle Callbacks: PostActivate/PrePassivate * [OPENEJB-210] Stateful Bean: Lifecycle Callbacks: PostConstruct/PreDestroy * [OPENEJB-530] Stateful Business Method Interception * [OPENEJB-531] Stateful Lifecycle Interception * [OPENEJB-209] Stateless Bean: Lifecycle Callbacks: PostConstruct/PreDestroy * [OPENEJB-529] Stateless Business Method Interception * [OPENEJB-528] Stateless Lifecycle Interception * [OPENEJB-536] Validation: AroundInvoke signature * [OPENEJB-526] Validation: Check for incorrect use of injection-target-name * [OPENEJB-455] Validation: Check that @Local hasn't been used to point to an EJBLocalHome or EJBLocalObject interface * [OPENEJB-454] Validation: Check that @Remote hasn't been used to point to an EJBHome or EJBObject interface * [OPENEJB-552] Validation: EjbName used in InterceptorBinding is correct * [OPENEJB-612] Validation: EjbName used in method-based InterceptorBinding * [OPENEJB-616] Validation: PostActivate callback signature is correct * [OPENEJB-614] Validation: PostConstruct callback signature is correct * [OPENEJB-613] Validation: PreDestroy callback signature is correct * [OPENEJB-615] Validation: PrePassivate callback signature is correct * [OPENEJB-617] Validation: Warn on unsupported service-refs * [OPENEJB-575] Validation: XML method permissions to beans that do not exist * [OPENEJB-574] Validation: XML transaction attributes to beans that do not exist * [OPENEJB-212] interceptor: Lifecycle Callbacks: PostConstruct/PreDestroy * [OPENEJB-221] javax.annotation.PostConstruct * [OPENEJB-222] javax.annotation.PreDestroy * [OPENEJB-603] javax.annotation.Resource: for SessionContext * [OPENEJB-602] javax.annotation.Resource: for TimerService * [OPENEJB-223] javax.annotation.Resource: for env-entry * [OPENEJB-401] javax.annotation.Resource: for message-destination-ref * [OPENEJB-400] javax.annotation.Resource: for resource-ref * [OPENEJB-224] javax.annotation.Resources * [OPENEJB-225] javax.annotation.security.DeclareRoles * [OPENEJB-226] javax.annotation.security.DenyAll * [OPENEJB-227] javax.annotation.security.PermitAll * [OPENEJB-228] javax.annotation.security.RolesAllowed * [OPENEJB-229] javax.annotation.security.RunAs * [OPENEJB-230] javax.ejb.ActivationConfigProperty * [OPENEJB-231] javax.ejb.ApplicationException * [OPENEJB-232] javax.ejb.EJB * [OPENEJB-233] javax.ejb.EJBs * [OPENEJB-234] javax.ejb.Init * [OPENEJB-235] javax.ejb.Local * [OPENEJB-236] javax.ejb.LocalHome * [OPENEJB-237] javax.ejb.MessageDriven * [OPENEJB-238] javax.ejb.PostActivate * [OPENEJB-239] javax.ejb.PrePassivate * [OPENEJB-240] javax.ejb.Remote * [OPENEJB-241] javax.ejb.RemoteHome * [OPENEJB-242] javax.ejb.Remove * [OPENEJB-243] javax.ejb.Stateful * [OPENEJB-244] javax.ejb.Stateless * [OPENEJB-245] javax.ejb.Timeout * [OPENEJB-246] javax.ejb.TransactionAttribute * [OPENEJB-247] javax.ejb.TransactionManagement * [OPENEJB-248] javax.interceptor.AroundInvoke * [OPENEJB-249] javax.interceptor.ExcludeClassInterceptors * [OPENEJB-250] javax.interceptor.ExcludeDefaultInterceptors * [OPENEJB-251] javax.interceptor.Interceptors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unimplemented Features, bugs, limitations * [OPENEJB-435] Support for JDK 1.6 / JRE 6.0 * [OPENEJB-583] Problems excluding default interceptor * [OPENEJB-688] JAX-WS Web Services Support * [OPENEJB-371] ENC: service-ref support * [OPENEJB-628] Unenhanced JPA support with OpenJPA * [OPENEJB-668] Client JNDI Context.list method support * [OPENEJB-550] Need to support persistent TimerStore * [OPENEJB-584] Method-level interceptors declared via annotations executed before method-level annotations declared via xml * [OPENEJB-621] Allow properties command to work securely to fully remote servers * [OPENEJB-673] running openejb deploy command for an already deployed module throws an exception * [OPENEJB-253] Per EJB or EJB Interface JNDI Name declaration * [OPENEJB-611] Hot deploy directory For updated details on known issues, see: http://cwiki.apache.org/OPENEJB/openejb-30-beta-1.html