Download binaries here:
http://openejb.apache.org/download.html
Highlights
---------------------
Major new features:
- EJB 3.1 Singleton Support
- EJB Constructor Injection
- Spring Integration
- Multicast Client-Server Discovery
Significant Improvements:
- EAR-style classpath application discovery groups individual
modules as an EAR allowing sharing of persistence units and improved
connector and custom MDB deployment.
- Detection of EclipseLink, TopLink, and Hibernate as JPA providers
to automatically adds the right persistence unit property to for
wiring in the OpenEJB TransactionManager.
- System Property and InitialContext property overriding now applies
to persistence-unit properties and logging levels.
- Login/logout now possible in an embedded scenario via
InitialContext params and initialContext.close() respectively.
- Complete overhaul of all client/server connection management
dramatically increases performance.
- Several new checks added to Application Validation ruleset, some
reworked to give even more details.
Full changelog
---------------------
New Features:
* [OPENEJB-836] Singleton Session Beans
* [OPENEJB-839] Singleton Read and Write method locking
* [OPENEJB-841] Singleton @DependsOn load ordering
* [OPENEJB-840] Singleton @Startup load-on-startup
* [OPENEJB-837] Singleton Bean-Managed Concurrency
* [OPENEJB-838] Singleton Container-Managed Concurrency
* [OPENEJB-821] EAR-style aggregation of modules discovered in the
classpath
* [OPENEJB-920] JDBC/DataSource based login module
* [OPENEJB-913] Client Connection Failover and Request Retry
* [OPENEJB-912] Client-side Connection Pool
* [OPENEJB-857] Client connection KeepAlive
* [OPENEJB-911] Graceful shutdown of client/server connections
* [OPENEJB-903] Multicast discovery and grouping
* [OPENEJB-905] PersistenceUnit property overriding
* [OPENEJB-898] Property overriding for logging configuration
* [OPENEJB-897] LocalInitialContext.close() to logout of embedded
container
* [OPENEJB-894] LocalInitialContext.close() to shutdown embedded
container
* [OPENEJB-896] VM-scoped Security for embedded scenarios
* [OPENEJB-805] JMS runs port-free in embedded mode
* [OPENEJB-785] EJBd protocol over SSL
* [OPENEJB-881] Automatically set eclipselink.target-server for
EclipseLink
* [OPENEJB-880] Automatically set toplink.target-server for TopLink
* [OPENEJB-801] Automatically set
hibernate.transaction.manager_lookup_class for Hibernate
Improvements:
* [OPENEJB-893] Improved JavaAgent/JPA enhancement for Unit Tests
* [OPENEJB-826] Improved detection of testing and embedded scenarios
* [OPENEJB-899] Improved classpath configuration searching
* [OPENEJB-831] PersistenceModule discoverable via the classpath
* [OPENEJB-892] Remove ASM dependency
* [OPENEJB-813] Example: CMP2 EntityBean
* [OPENEJB-348] Example: Minimal MessageDriven Bean via
@MessageDriven
* [OPENEJB-850] Example: Singleton bean with bean vs container
concurrency
* [OPENEJB-359] Example: Using JMS
* [OPENEJB-848] Validation: @TransactionAttribute mistakenly used
on beans with Bean-Managed Transactions
* [OPENEJB-855] Validation: Init/Remove annotations not used on
MessageDriven, Stateless, or Singleton beans
* [OPENEJB-677] Validation: PrePassivate/PostActivate not used on
MessageDriven or Stateless
* [OPENEJB-844] Validation: Singleton @Lock annotation not used
with Bean-Managed Concurrency
* [OPENEJB-846] Validation: Singleton mistakenly using
@PrePassivate and @PostActivate
* [OPENEJB-808] Validation: Unused ejbCreate methods
* [OPENEJB-809] Validation: Unused ejbPostCreate methods
* [OPENEJB-859] Improved validation for <home>, <remote>, <local-
home>, <local>, <business-local> and <business-remote> elements
* [OPENEJB-817] ID portion of property overriding no longer case
sensitive
* [OPENEJB-856] Upgrade to OpenJPA 1.1.0
* [OPENEJB-904] Pluggable Client/Server connection strategies and
factories
* [OPENEJB-799] Support META-INF/env-entry.properites as an
alternative to META-INF/env-entries.properies
* [OPENEJB-800] Default env-entry-type to java.lang.String
* [OPENEJB-823] Print Service properties on debug
* [OPENEJB-825] Eliminate possible mismatch of TxRecovery flag
between TransactionManager and Resources
* [OPENEJB-829] Automatically add an @DeclareRole ref for any role
listed in @RolesAllowed
* [OPENEJB-828] @EJB(name) value used to resolve ambiguous refs
* [OPENEJB-818] CMP1.1 and CMP2.x beans not required to implement
javax.ejb.EntityBean
* [OPENEJB-807] CMP2 EntityBean interface methods auto-implemented
* [OPENEJB-814] CMP2 <cmp-field> declarations are optional
* [OPENEJB-810] CMP ejbPostCreate methods made optional
* [OPENEJB-812] Explicitly check for CMP/BMP
ejbHome.remove(ejbObject) mistake
* [OPENEJB-916] Local Client "java:comp/
TransactionSynchronizationRegistry" lookup
* [OPENEJB-915] Local Client "java:comp/TransactionManager" lookup
* [OPENEJB-914] Local Client "java:comp/UserTransaction" lookup
Bugs:
* [OPENEJB-832] Invoking EJB via remote interface with argument of
value boolean.class results in ClassNotFoundException
* [OPENEJB-907] Element <jndi> possibly ignored in openejb-jar.xml
* [OPENEJB-833] @ApplicationException overriding via ejb-jar.xml
broken
* [OPENEJB-786] Stateless Container StrictPooling option ignored
* [OPENEJB-851] ActiveMQResourceAdapter: ActiveMQ Embedded broker
always started even if BrokerXmlConfig is empty
* [OPENEJB-824] HOWL TX Logging left on by default
* [OPENEJB-843] CalculatorTest fails
* [OPENEJB-834] some jsps in tomcat integration broken
* [OPENEJB-804] ConnectionFactory autocreation
* [OPENEJB-871] Saaj Implementation not found (--> NoClassDefFound)
* [OPENEJB-861] Add support to add JSF impl jars to WEB-INF/lib
* [OPENEJB-852] Minor typo in <business-remote> and <business-
local> validation message
* [OPENEJB-835] @ApplicationException ignored when class exists in
separate module
* [OPENEJB-919] MDBs should be sorted to end of the deployment list
* [OPENEJB-793] Possible infinite loop in CheckCallbacks
* [OPENEJB-811] Legacy "http://www.openejb.org/xml/ns/pkgen-2"
namespace not recognized