马蒂亚斯(Matthias)就在现场。
@Stateless带注释的Bean是EJB,默认情况下提供Container-Managed-
Transactions。如果EJB的客户端不提供新的事务,则CMT将默认创建一个新的事务。
必需的属性
如果客户端在事务中运行并调用企业bean的方法,则该方法在客户端的事务中执行。如果客户端未与事务关联,则容器在运行该方法之前启动一个新事务。Required属性是使用容器管理的事务划分运行的所有企业Bean方法的隐式事务属性。除非您需要覆盖另一个事务属性,否则通常不设置Required属性。因为事务属性是声明性的,所以以后可以轻松更改它们。
在最近关于jax-rs的java-ee-7
教程中,Oracle提供了使用EJB(@Stateless)的示例。
… EJB的@ javax.ejb.Asynchronous批注和@Suspended
AsyncResponse的组合实现了业务逻辑的异步执行,并最终通知了感兴趣的客户端。任何JAX-
RS根资源都可以使用@Stateless或@Singleton注释进行注释,并且实际上可以用作EJB ..
在这种情况下,@
RequestScoped与@Stateless之间的主要区别在于,容器可以合并EJB,并且避免了可能会在每个请求上构造的bean可能需要的一些昂贵的构造/破坏操作。



