如何从另一个包中的第二个@Stateless bean调用一个@Stateless bean上的方法

时间:2014-12-15 23:15:23

标签: java servlets glassfish ejb

我的问题与此类似:LINK但我需要从另一个包中的第二个@Stateless bean调用一个@Stateless bean上的方法。我试过这样做:

@Stateless
public class StatelessBean1 implements IStatelessBean1{
@EJB
    private packagename.StatelessBeanw pr;

之后我得到错误:

  

javax.ejb.EJBException:javax.ejb.EJBException:   javax.ejb.CreateException:无法创建无状态EJB

     

注意异常的完整堆栈跟踪及其根本原因是   可在GlassFish Server Open Source Edition 4.0日志中找到。

StatelessBean1进入defaut包,StatelessBean2进入包含name的包。当我得到这两个int相同的包时,一切正常,使用:

StatelessBean1 pr = new StatelessBean1();

无法进入那种2种不同的包装

有人能说出它应该是什么样子,或者我的错误在哪里?

我测试了一些,看起来就像是,即使它们在相同的包装中也会产生错误。

@Stateless
    public class StatelessBean1 implements IStatelessBean1{
    @EJB
        private StatelessBeanw pr;

2 个答案:

答案 0 :(得分:0)

如果我没错,你可以使用mappedName构造。

This page可以帮到你。

答案 1 :(得分:0)

我知道你是对的,但在这种情况下回答我的问题很容易。 它应该是:

@Stateless
public class StatelessBean1 implements IStatelessBean1{
@EJB
    private packagename.StatelessBeanwInterface pr;

我应该将StatelessBeanw文件的接口名称赋予StatelessBeanw。 案件结案。