Eri*_*son 6 java servlets dependency-injection java-ee ejb-3.0
我正在试验EJB3
我想将一个有状态会话bean注入一个servlet,这样每个访问servlet的用户都会获得一个新的bean.
显然,我不能让bean成为servlet的实例变量,因为它将被共享.并且不允许显着地注入局部变量.
我可以使用new运算符来创建bean,但这似乎不是正确的方法.
有没有正确的方法来做到这一点?看起来我想要做的事情是相当简单的,毕竟,我们希望每个新客户都能找到一个空的购物车.
ewe*_*nli 14
您无法使用new获取新的SFSB.
你通常做的是用lookup一个新的InitialContext.
MyBean bean = (MyBean) new InitialContext().lookup( name );
Run Code Online (Sandbox Code Playgroud)
然后,您将获得对可以在请求中重用的特定SFSB的引用.
从这个答案:
您通常不应该注入SFSB,除非它是进入另一个SFSB或Java EE客户端.您应该在引用类(例如您的servlet)上使用@EJB来声明ejb-ref,然后在代码中执行JNDI查找以获取实例.然后可以将此实例直接放在您的Http会话中.
有关SFSB的更多信息,您可能对我的其他答案感兴趣:
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
3663 次 |
| 最近记录: |