在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类的业务方法或本地/远程业务接口的业务方法。
答案 0 :(得分:1)
当您实现接口(MyService
)时,您的bean不会公开无接口视图。这意味着必须在该接口中定义EJB容器必须“执行某些操作”的所有方法。
void doJob(...)
很可能未定义MyService
。如有疑问,请显示doJob
和MyService
的完整定义。
答案 1 :(得分:1)
这是WebSphere中的一个缺陷,直到V8.0.0.5,并且预计在V8.0.0.6中进行修复