tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Prud'hommeaux <mprud...@apache.org>
Subject Re: [ANN] Apache OpenEJB 3.0 beta 1
Date Mon, 01 Oct 2007 23:36:12 GMT

On behalf of the Apache OpenJPA project, I'd like to offer my hearty  
congratulations on this first beta for OpenEJB 3.0!

For over half a decade (since OpenEJB version 0.8 beta 3), we've been  
using OpenEJB for testing EJB compliance in Kodo JPA/JDO (BEA's  
productized extension of OpenJPA), and its flexible architecture made  
it easy to embed into our testing framework. Since then, it has been  
an integral part of our first-pass acceptance tests, and it has  
always performed admirably.

The OpenJPA project is proud to stand side by side with OpenEJB as  
the embedded EJB components in Apache Geronimo!


> From: David Blevins <david.blevins@visi.com>
> Date: September 30, 2007 5:06:02 PM PDT
> To: users@openejb.apache.org
> Cc: dev@openejb.apache.org
> Subject: [ANN] Apache OpenEJB 3.0 beta 1
>
>
> Apache OpenEJB 3.0-beta-1  -  September 29, 2007
> http://openejb.apache.org/
>
> The Apache OpenEJB team is proud to announce the release of OpenEJB  
> 3.0 beta 1.
>
>   Download :  http://openejb.apache.org/openejb-30-beta-1.html
>
> * * N E W   F E A T U R E S * *
>
> EJB 3.0 Compliance
> =============================
>
>   OpenEJB 3.0 supports the EJB 3.0 specification as well as the prior
>   EJB 2.1, EJB 2.0, and EJB 1.1. New features in EJB 3.0 include:
>   Annotations instead of xml; No home interfaces; Business Interfaces;
>   Dependency Injection; Intercpetors; Java Persistence API; POJO-style
>   beans; Java Persistence API (JPA).
>
>   EJB 2.1 features new to OpenEJB: MessageDriven Beans;
>   Container-Managed Persistence (CMP) 2.0; Timers;
>
>
> EJB plugin for Tomcat 6
> ============================
>
>   OpenEJB 3.0 can be plugged into any Tomcat 6 server, adding support
>   for EJBs in Web Apps.  War files themselves can contain EJBs and the
>   Servlets can use new JavaEE 5 annotations, XA transactions, JPA, and
>   JMS.  Webapps can even support fat java clients connecting over
>   HTTP.
>
>
> Container Driven Testing
> ============================
>
>   Testing EJBs can be done with plain old unit tests by using OpenEJB
>   as an embedded EJB Container right in your test case just like you
>   would use an embedded database such as HSQL or Derby.  With this you
>   can test your EJBs in your build just as you would any other object.
>   All parts of EJB can be tested from simple business invocations to
>   transactions and security.  You'll be surprised how fast it is.
>
>
> CMP via JPA
> =============================
>
>   Our CMP implementation is a thin layer over the new Java Persistence
>   API (JPA). This means when you deploy an old style CMP 1.1 or CMP
>   2.1 bean it is internally converted and ran as a JPA bean. This
>   makes it possible to use both CMP and JPA in the same application
>   without any coherence issues that can come from using two competing
>   persistence technologies against the same data. Everything is
>   ultimately JPA in the end.
>
>
> Extended Dependency Injection
> =============================
>
>   Dependency Injection in EJB 3.0 via @Resource is largely limited to
>   objects provided by the container, such as DataSources, JMS Topics
>   and Queues. It is possible for you to supply your own configuration
>   information for injection, but standard rules allow for only data of
>   type String, Character, Boolean, Integer, Short, Long, Double, Float
>   and Byte.  OpenEJB 3.0 supports injection of any data type for which
>   you can supply a JavaBeans PropertyEditor. We include several
>   built-in PropertyEditors already such as Date, InetAddress, Class,
>   File, URL, URI, Map, List and more.
>
>
> JavaEE 5 EAR and Application Client support
> =============================
>
>   JavaEE 5 EARs and Application Clients can be deployed in addition to
>   ejb jars. EAR support is limited to ejbs, application clients, and
>   libraries; WAR files and RAR files will be ignored. Per the JavaEE 5
>   spec, the META-INF/application.xml and
>   META-INF/application-client.xml files are optional.
>
>
> Application Validation
> =============================
>
>   Incorrect usage of various new aspects of EJB 3.0 are checked for
>   and reported during the deployment process preventing strange errors
>   and failures. Validation failures (non-compliant issues with your
>   application) are printed out in complier-style "all-at-once" output
>   allowing you to see and fix all your issues in one go. For example,
>   if you have 10 @PersistenceContext annotations that reference an
>   invalid persistence unit, you get all 10 errors on the first deploy
>   rather than one failure on the first deploy with 9 more failed
>   deployments to go.
>
>
> JNDI Name Formatting
> =============================
>
>   A complication when using EJB is that plain client applications are
>   at the mercy of vendor's chosen methodology for how JNDI names
>   should be constructed.  OpenEJB breaks the mold by allowing you to
>   specify the exact format you'd like OpenEJB to use for your server
>   or any individual application.  Supply us with a formatting string,
>   such as "ejb/{ejbName}/{interfaceClass.simpleName}", to get a JNDI
>   layout that best matches your needs.
>
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> Changes:
> 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<METHOD> style invoke
>   * [OPENEJB-405] EntityBean.ejbHome<METHOD> 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 see:
> http://openejb.apache.org/openejb-30-beta-1.html
>
>
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message