# 1 楼答案 关于EJBbean的一个非常真实的事情是,一旦您创建了EJB3.0bean,那么EJB的方法在默认情况下是同步的 例如 @Statelss 类EJBclass{ void somethod(){ } } 现在,如果你要使这个方法同步,它会显示错误,就像它是不能在这个级别同步,因为它是同步的 EJB3.0bean非常智能,性能也很好
# 3 楼答案 一次只能有一个线程访问您的bean。这取决于应用服务器来管理。因此,您不应该在bean中使用synchronized。这就是为什么像EntityManager这样的非线程安全应用程序可以作为实例值,而不会出现同步问题
# 4 楼答案 无状态/有状态会话bean是线程安全的。因为每个请求都会得到bean的一个专用实例,所以不需要同步 单例会话Bean是共享的,需要由容器(container-Managed Concurrency-CMC)或用户(Bean-Managed Concurrency-BMC)进行同步
# 5 楼答案 无状态bean: 每个线程/请求都将从池中获取不同的EJB实例。SLB不应保存任何用户会话数据、任何状态。相同的代码可以并行执行。一次一个线程访问一个实例 Statefull bean为用户会话同步。每个用户都将获得自己的会话范围实例。第二个线程/请求将等待第一个线程完成。Statefull EJB可以保存用户特定的数据。一个用户不能并行执行相同的代码。不同的用户可以并行执行相同的代码 如果访问不允许并行访问的资源,请使用单例EJB。顾名思义,只有一个实例。默认情况下,EJB单例只能由一个线程(容器管理的并发和@Lock(WRITE))访问
# 1 楼答案
关于EJBbean的一个非常真实的事情是,一旦您创建了EJB3.0bean,那么EJB的方法在默认情况下是同步的
例如
@Statelss 类EJBclass{
void somethod(){ }
}
现在,如果你要使这个方法同步,它会显示错误,就像它是不能在这个级别同步,因为它是同步的
EJB3.0bean非常智能,性能也很好
# 2 楼答案
企业java bean不同步。由于会话bean由ejb容器维护,所以您必须在应用程序级别实现同步逻辑
# 3 楼答案
一次只能有一个线程访问您的bean。这取决于应用服务器来管理。因此,您不应该在bean中使用synchronized。这就是为什么像EntityManager这样的非线程安全应用程序可以作为实例值,而不会出现同步问题
# 4 楼答案
无状态/有状态会话bean是线程安全的。因为每个请求都会得到bean的一个专用实例,所以不需要同步
单例会话Bean是共享的,需要由容器(container-Managed Concurrency-CMC)或用户(Bean-Managed Concurrency-BMC)进行同步
# 5 楼答案
无状态bean: 每个线程/请求都将从池中获取不同的EJB实例。SLB不应保存任何用户会话数据、任何状态。相同的代码可以并行执行。一次一个线程访问一个实例
Statefull bean为用户会话同步。每个用户都将获得自己的会话范围实例。第二个线程/请求将等待第一个线程完成。Statefull EJB可以保存用户特定的数据。一个用户不能并行执行相同的代码。不同的用户可以并行执行相同的代码
如果访问不允许并行访问的资源,请使用单例EJB。顾名思义,只有一个实例。默认情况下,EJB单例只能由一个线程(容器管理的并发和@Lock(WRITE))访问