下面是我自己作业的结果--希望有人能发现对嵌入式EJB提供程序的分析有助于决定是否使用和使用哪个容器。
我使用Apache OpenEJB,因为它提供了丰富的特性集,部分支持EJB3.1,并且似乎是最活跃和完善的产品。
和往常一样,哪种产品最适合您,实际上取决于您的实际需求、目标和环境。
嵌入式JBoss
server.xml
- Tomcat集成:是的,修改了版本: 5.0及以上版本到Tomcat: Embedded war
- 的特性列表: JNDI (本地)、JBoss TS、JBoss消息传递、JCA、JNDI、EJB、JPA、本地TX数据源/连接池、Embedded配置:通过在Tomcat的JNDI实例化之上分层来覆盖Tomcat的JNDI实现;Tomcat是read-only
- Deployment类型: JAR only
- Management support: No
- Support: limited,构建在JBoss 5.0的核心JBoss微容器之上,支持Tomcat
- JMS Provider上Seam的选项:与JBoss 5.x相同的配置文件。JMS配置在hsqldb-persistence-service.xml中,这可以调整为与其他数据库一起使用- No
- *Persistence Providers:*Hibernate
- Limitations:
- XA连接池: No
- EJB计时器服务:
- EJB计时器服务:
- EJB计时器服务;仅本地接口;只有本地JNDI implementation
- Documentation: limited
- EJB 3.1: No
。
Apache OpenEJB 3.1
License
- *Java:*JDK许可:ApacheEJB5.0或6.0
- *Tomcat版本的修改:*Tomcat 6.x或5.5
- *Deployment到Tomcat:*war文件
- *特性列表:*EJB3.0和3.1、JTA、JAX、JMS、J2EE连接器、JPA、JNDI。features.
- *JNDI使用其他几个开放源码框架,例如提供JPA和CMP持久性的OpenJPA、用于JMS/MDB的ActiveMQ和用于JAX-WS mbeans
- *Support:*Community配置的Apache:*灵活的JNDI命名schema
- *Deployment类型:*折叠的EAR (war)、JAR
- Management支持: ActiveMQ JMX mbeans
- *Support:*Community支持、邮件列表和论坛,用于Apache Geronimo
- *Persistence提供程序的EJB容器:* OpenJPA,Hibernate
- *Limitations:*OpenEJB使用OpenJPA提供JPA和CMP持久性,OpenJPA目前需要一个JavaAgent才能运行properly.
- *Documentation:*limited,但比其他的
更好
EasyBeans
- *License:*LGPL
- *Java:*JDK 5.0或6.0
- Tomcat集成: Yes
- *Tomcat版本:*Tomcat 6.x或5.5
- *Deployment to Tomcat:*war文件
- *特性列表:*EJB3.0、JAX、OSGi support
- JNDI configuration:
- *Deployment types:*JAR
- Management support:
- *Support:*Community支持和专业支持、邮件列表、JIRA、用于Services:*Yes
- *Persistence应用服务器
- JMS提供程序的EJB容器:
- XA连接池:
- *EJB计时器提供程序:*OpenJPA、Hibernate、TopLink、EclipseLink
- Limitations:
- *Documentation:*limited
- EJB 3.1: No