我创建了一个SimpleBean.java
public class SimpleBean implements SimpleBeanRemote
{
private static String str = "Test";
private int value =0;
public SimpleBean()
{
G += " A";
value++;
}
public String getValue()
{
return G + Integer.toString(value);
}
}
在servlet中,我声明了一个private @EJB SimpleBeanRemote
bean。在doGet
处理程序中,调用bean.getValue()
语句
返回结果:测试A A1
似乎SimpleBean
构造了两次。对于我的观察,一次是在EJB构造中,另一次是由Servlet为@EJB bean发布的。我想问一下EJB的初始化是否正确。如果SimpleBean创建了两次,那么第一个是没有用的?
是否可以仅构建一次EJB对象。
我们会分享和讨论这些行动吗?
答案 0 :(得分:0)
要理解这一点,您应该查看types of session beans。
而且,如果您确定需要这个:
仅构建一次EJB对象。
,你应该选择单例会话bean(使用JavaEE 6 @Singleton注释)。