java - 内部类访问EJB

标签 java ejb inner-classes wildfly

我想从内部类访问注入(inject)的对象。 奇怪的是,有时这会起作用。 但有时我会遇到调用异常: 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
}

有什么想法吗?

最佳答案

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

在外部 EJB 仍然处于 Activity 状态时(使用 EJB 生命周期注释),尝试安排调用执行您希望它执行的任何操作。

关于java - 内部类访问EJB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278095/

相关文章:

java - 错误 : field name cannot be declared static

java - 为什么我的类不能实现在其中声明的接口(interface)?

java - 如何进行 Hibernate XML 映射,一对多使用 1 PK 映射到具有复合键的另一个实体

java - 如何在 javascript 中链接异常(即在 java 中添加原因)

java - 来自 Java EE 应用程序服务器的数据流

java - 管理 EJB 项目中的 hibernate 实体

java - 是否可以通过代理使用 Spring Cloud Azure Stream Binder?

java - 比较java中的2个列表

java - 找不到 EJB

java - 是否可以使用 Lambda 而不是匿名类来创建新对象?