在@Singleton中调用EJB接口

时间:2014-11-16 00:33:18

标签: java-ee ejb-3.1

我目前正在使用Java EE(WildFly 8.0) 我有以下课程:

public interface A { 
    public void method(); 
}

这是实施

@Stateless
public class  ABean implements A { 
    public void method() { //do stuff} 
}

还有一个将此接口作为EJB的Singleton

@Singleton
@LocalBean
public class Singleton  { 
    @EJB
    public A a; 
}

每当我在业务逻辑中的另一个EJB中调用Singleton.a.method()时,它会抛出一个 InvokationException说:EJB调用失败。

这里缺少什么东西吗?我已经尝试过声明@Local接口,但仍然存在同样的问题。

1 个答案:

答案 0 :(得分:0)

您是否尝试将方法调用包装在单例中的方法中?

@Singleton
@LocalBean
public class TestSingleton  { 

    @Inject
    public ITest a; 


    public void Run() {
        a.Method();
    }
}

这适用于Wildfly 8.1,而TestSingleton.a.Method()则使用NullPointer失败。