Hibernate founder and SEAM project leader Gavin king recently published Article The first article in the series, which describes the new features he expected to see in Java EE 6. The first proposal in the Gavin list is to provide more concurrecy modes for stateless and stateful session beans ). He proposed three solutions:
No concurrency. The default mode is also supported currently: bean does not support concurrent customers. If both requests arrive at the same time, the container is allowed to throw a concurrentaccessexception exception.
Bean-managed concurrency: bean supports concurrent access caused by multiple threads and manages access to a variable data structure.
Container-managed concurrency: bean supports concurrent clients, and the container ensures that threads are queued in order before entering bean implementation.
The second proposal proposed by Gavin is lightweight asynchronicity ). He argues that the current options for JMS and EJB timers are insufficient. In addition, he advocates that each bean has multiple @ timeout methods and enhanced scheduling options. Article 3 The proposal is the stateful Web service endpoint ):
...... Currently, only stateless session beans can be used as Web service endpoints. Through WS-contexts or WS-Addressing (or any suitable WS-*), we can support stateful session beans that act as Web service endpoints. I still don't know what it will look like, but some of our attempts in seam/WS may be associated with it ......
Gavin's desire table also includes optional EJB business interfaces (optional business interfaces for ejbs), simplified JMS/javamail, enhanced logging injection (enhanced Loggin injection), and EJB meta-annotatons. For optional business interfaces, he thinks:
Currently, EJB requires that all session beans have the @ local or @ remote interfaces. When Session Bean exists in the business layer, and the business logic and customerCodeWhen there is a well-defined API between them, this is not an unreasonable provision ....... Especially in a seam-like environment, the only client of bean may be a JSF page with an EL expression. At this time, the interface is totally redundant !...... The interface should be optional. When it does not exist, the public method of the bean class should be used as the service method of the Session Bean ......