我的问题与此类似: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;
答案 0 :(得分:0)
如果我没错,你可以使用mappedName构造。
This page可以帮到你。
答案 1 :(得分:0)
我知道你是对的,但在这种情况下回答我的问题很容易。 它应该是:
@Stateless
public class StatelessBean1 implements IStatelessBean1{
@EJB
private packagename.StatelessBeanwInterface pr;
我应该将StatelessBeanw文件的接口名称赋予StatelessBeanw。 案件结案。