在EJB中使用异步注释时出错

时间:2012-11-10 10:07:16

标签: java asynchronous ejb websphere ejb-3.1

在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类的业务方法或本地/远程业务接口的业务方法。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

这是WebSphere中的一个缺陷,直到V8.0.0.5,并且预计在V8.0.0.6中进行修复