在servlet中注入ejb3的并发性含义是什么?

时间:2011-06-07 05:51:16

标签: concurrency ejb-3.0 cluster-computing

我想将ejb3注入与jndi查找方法进行对比,注入将1个特定的代理实例绑定到servlet吗?如果是这样,那么在集群环境中,这种紧密的运行时绑定可能会导致效率低下。

1 个答案:

答案 0 :(得分:2)

对于Stateless,EJB代理与其后备实例(通常是池)是1对多的,并且可以安全地注入到servlet中。

对于Singleton,EJB代理与其支持实例是1对1,但容器(或bean)负责确保并发调用是安全的还是不允许的,具体取决于每种方法的业务逻辑。 @AccessTimeout可用于控制等待锁定的时间。

对于Stateful,EJB代理与其支持实例是1对1,并且注入servlet是不安全的。从EJB 3.1开始,有状态会话bean并发性允许一些安全性,但由于有状态会话bean超时,将有状态会话bean注入servlet可能不会有用。