我目前正在使用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接口,但仍然存在同样的问题。
答案 0 :(得分:0)
您是否尝试将方法调用包装在单例中的方法中?
@Singleton
@LocalBean
public class TestSingleton {
@Inject
public ITest a;
public void Run() {
a.Method();
}
}
这适用于Wildfly 8.1,而TestSingleton.a.Method()则使用NullPointer失败。