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.