0

在 EJB 中调用@Asynchronous方法时,我看到一个错误被记录下来,尽管方法执行工作正常。关于出了什么问题的任何建议?WebSphere V8 上的 EJB 3.1

界面是:

@Local
public interface MyService {
    @Asynchronous
    public void doJob(MyObj o);
}

实现类:

@Stateless
@Local(MyService.class)
public class MyBean implements MyService {
    @Asynchronous
    public void doJob(MyObj o) {

        // insert to DB

   }
}

错误信息

CWWAM1101E: 在类 {0} 中,方法 {1} 使用 @Asynchronous 注释,但必须应用于 bean 类的业务方法或本地/远程业务接口的业务方法。

4

2 回答 2

1

当您实现一个接口 ( MyService) 时,您的 bean 不会公开一个无接口视图。这意味着 EJB 容器必须“做某事”的所有方法都必须在该接口中定义。

很可能void doJob(...)未定义MyService。如有疑问,请显示 和 的完整doJob定义MyService

于 2012-11-10T14:01:46.150 回答
1

这是 WebSphere V8.0.0.5 之前的一个缺陷,预计在 V8.0.0.6 中会进行修复

于 2013-01-19T03:54:48.580 回答