内部类访问EJB

时间:2014-06-18 06:02:40

标签: java ejb inner-classes wildfly

我想从内部类访问注入的对象。 奇怪的是,这有时会起作用。 但有时我得到一个调用异常: org.jboss.as.ejb3.component.EJBComponentUnavailableException:JBAS014559:组件关闭时无法继续调用

我正在使用Wildfly 8.0和8.1。

@LocalBean
@Stateful
public class Outer {

@EJB AccessStateful accessStateful;
String s = "foo";

public void start(){
    Inner i = this.new Inner();
    i.doSomething;
}
public class Inner {
    public doSomething(){
        doPrivate();
    }
    private doPrivate(){
        Outer.this.accessStateful.accessMethode(s);
    }   
}
}

@LocalBean
@Stateful
public class AccessStateful{

public void accessMethode(String s){
    // do something here
}

任何想法?

1 个答案:

答案 0 :(得分:1)

根据您收到的错误消息,似乎发生这种情况,因为您正在尝试访问Outer类成员时/在它被销毁之后。

尝试安排调用以执行您想要的任何操作,而外部EJB仍处于活动状态(使用EJB生命周期注释)。