JavaONE EJB 3.1 - even better than the real thing :-)

JavaONE Outtakes:

Some interesting features of the EJB 3.1 specification:

- Local interfaces are optional now, we still need @Remote (which is good)
- EJB-Jars are optional - session beans can be deployed into a WAR-file - but are still independent
- Singleton beans (with new @Singleton Annotation): not intended to be a cluster-wide singleton, but the state is shared in the whole application
- Singletons can be accessed in @ReadOnly mode - a hint to container to optimize the access
- Singletons can be accesseed in @ReadWrite mode as well
- BMC (Bean Managed Concurrency, or @BeanManagedConcurrency) will be available. In this case the developer is responsible for synchronization - so usage of synchronized keywords etc. is allowed in that particular case
- Timer Services will be extended to CRON like functionality. Timer could be registered automatically using an annotation.
- @Asynchronous annotation can be used to mark methods (of a stateful session bean) which will be executed asynchronously.
- Stateful Session Beans could be also exposed as a WebService - so stateful WebServices will be supported.

EJB 3.1 makes EJB 3.0 even leaner and better. I only miss the standardization of JNDI-names - but this JSR spec was not even started, so there is still hope...


Hi! thanks for the points! Nice meeting you as well - eventhough I had to leave at 9 :P! I have to admit though from all the above points I am a bit ..concerned regarding the bean concurrency addition. Its like Pandora's box, if missused could end up to a disaster for any j2ee application!

greetings from Greece!

Posted by Paris Apostolopoulos on May 15, 2007 at 07:03 PM CEST #

The timer service CRON support is something to look forwards to, though in my view even more attention should go to what I call 'lifecycle of business entities'. See my blog at for more on this topic.

Posted by Frank Cornelis on May 18, 2007 at 12:36 PM CEST #


As per your comments "not intended to be a cluster-wide singleton". There is a need of Custer-Wide singletons which JEE should provide. As a simple example, if there are messages which land on JMS queues which application should process and some locking (synchronization) is required for this, a cluster aware singleton would be of great help in executing this.
Please let me know your thoughts on this.

Posted by Amit Malhotra on April 02, 2012 at 12:19 AM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments