关于EJB Beans构造和Java Servlet Inits

时间:2012-11-20 19:45:38

标签: java eclipse servlets ejb-3.0

我创建了一个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对象。

我们会分享和讨论这些行动吗?

1 个答案:

答案 0 :(得分:0)

要理解这一点,您应该查看types of session beans

而且,如果您确定需要这个:

  

仅构建一次EJB对象。

,你应该选择单例会话bean(使用JavaEE 6 @Singleton注释)。