1

我遇到了焊接检票口问题。当@Inject-ing 从抽象类继承的 EJB 时,如果我尝试从抽象类调用方法,我会收到 ejb-ref 错误。但是,如果我从具体类中调用一个方法,它就可以完美地工作。我可以重写方法并调用它们,我可以将一个重写的方法委托给抽象类(让重写的方法调用 super.method()),这样就可以了。我必须对抽象类进行某种配置吗?

谢谢。

4

1 回答 1

1

这是基于我对 Seam 的经验的猜测。Weld 注入了一个代理来包装你的 bean。代理仅拦截公共方法并将这些方法委托给底层 bean(在您的情况下为 EJB)。当您在代理上调用受保护的方法或从同一包中的类调用包私有方法时,该方法不会被拦截,而是直接在代理上调用,这会导致您的错误。简而言之,只需调用公共方法或通过接口返回所有依赖项并将其注入。

于 2010-08-04T06:17:58.440 回答