最近apache OpenEJB项目小组发布了OpenEJB3.0的最终版本。OpenEJB3.0是一个可移植到,轻量级的EJB3.0规范的实现,它能够单独使用而不仅仅是作为服务器来运行,但是OpenEJB3.0可以作为内嵌的服务器使用中Tomcat,Junit,Eclipse,Intellij,Maven,Ant或者其他的IDE或者应用程序中。在OpenEJB中加入一些在EJB3.0规范中可以预见的实现。OpenEJB 强调简单易用,配置简单,并且能够便于测试。因此你可以关注这个项目的发展。
作为一个在日常工作中使用OpenEJB3.0的开发者我十分关注OpenEJB3.0的质量以及它能给开发者带来的帮助,还有它目前所处的阶段。或者说没有EJB3.0我们可能不能很好的工作。在个别的项目中,OpenEJB 3.0能够很好的帮助我们测试而不增加多于的工作,因为我能够在内存中运行OpenEJB 3.0和数据,当测试完成的时候数据库将被丢弃。这意味着我们不需要重新启动TOMCAT,不需要复杂的组件包,不需要从新启动服务器,对应用没有任何影响。我认为这是OpenEJB 3.0带给开发者真实的长期的好处
OpenEJB3.0新特性总结:
对EJB 3.0:
- 支持EJB 3.0, EJB 2.1, EJB 2.0, and EJB 1.1
- 能够运行OSGi
- CMP 支持JPA和其它映射方式
- 依赖注入支持枚举、类、日期和文件方式
- 依赖注入支持java的collection和
- Custom Types injectable through adding a java.beans.PropertyEditor
- JNDI Name formatting
- App validation reports all deployment/compliance errors and warnings at once in terse, medium or verbose detail
- Deep levels of annotation inheritance are completely respected
对Tomcat的支持 :
- Supports any Tomcat 5.5 or 6 install
- Provides JMS, J2EE connector, and JAX-WS support to Tomcat
- JavaEE Injection for Servlets, Filters and Listeners
- Adds EJB and EAR deployment support
- Supports "Collapsed EARs", or EJBs in .war files
- Remote EJB clients over HTTP
- Tomcat server.xml can still be used
- Seamless config: OpenEJB resources exported as Tomcat resources, Tomcat resources imported as OpenEJB resources
- Uses Tomcat's security setup
- Deployed as a webapp and can be easily removed at any time
可以移植性和java的支持:
- Discovers applications in the classpath
- Entirely Configurable via System or InitialContext Properties, config files optional
- Boots and runs in seconds
- No code dependencies on OpenEJB APIs required
- Simplified logging output used while embedded
- Transaction and Security are fully testable but can also be disabled via properties
- Runs with no external process or network ports
- Starts "empty" and only adds what's needed to run/test your app
- Embeds without requiring IDE or build system plugins
- Supports Glassfish, Geronimo, some WebLogic descriptors allowing those users to more easily embedded test with OpenEJB
- Includes several examples covering many testing techniques