What's New in EasyBeans preview 2 : (since 1st preview)
Migration :
- Default JNDI name has been changed. The new JNDI name is now :
"fully qualified name of the bean's class"_"fully qualified name of the interface"@Local(or Remote) :
Example : Bean.class.getName() + "_" + Interface.class.getName() + "@Local";
- EJB and EJBs annotations package : Move from javax.annotation to javax.ejb package (see JSR 220)
- PersistenceProvider use the EasyBeans transaction manager. In JTA mode, begin() and commit() methods shouldn't be used anymore (this is done automatically by the container). See entity bean's example.
New features :
- Add embedded support for Tomcat application server. (In addition to JOnAS J2EE server).
- Add support for Dependency injection supported in Interceptors of the session beans.
- Lifecycle of interceptors is mapped to the current specification.
- Add support for java: naming (ENC environment)
- Add support for @PersistenceContext and @PersistenceUnit annotations (by specifying unitname)
- Add support for @EJBs and @Resource/DataSource on a session bean's class
- Add support for mappedName (used in some annotations)
- Add support for name on @EJB and @Resource (ie : EJB references are bound in the java:comp/env environment)
- Add support for inheritance on beans (dependency injection was not done before on super classes)
- Add support for all transaction types (BMT or CMT)
- Analyze ejb-jar XML Deployment Descriptors (for env-entries)
- Add support for @Resource/SessionContext annotation injecting the bean's context.
- ENC : use the JOnAS or Tomcat naming when it is integrated in those application servers
- Add support for interfaces being annotated with @Local or @Remote
- Add validation on user interceptors => throw exceptions if it is invalid
- Add support for private/protected methods which defines the @AroundInvoke method on an interceptor
Documentation : (HTML or PDF)
- User's guide
- Developer's guide
- Test's guide
Components :
- Upgrade to Hibernate entity manager 3.1beta7 (Hibernate 3.2CR1 and Hibernate Annotations 3.1 beta9)
- Upgrade to ASM 2.2.2
- (Tests) Upgrade to testng 4.7
Bugs :
- InvocationContext : setParameters() method was not modifying parameters
- Callback lifecycle interceptors couldn't throw runtime exceptions
- Deserialization of Object's classes was using RMI classloader and not ContextClassLoader.