我的许多服务只是暴露的 DAO。所以我为这些服务创建了一个接口:
public interface DAORequestContext<T extends SRSProxyBase> extends RequestContext {
Request<T> find(Long id);
Request<T> load(Long id);
Request<T> save(T id);
}
但是,当扩展此接口时(在我的 RequestFactory 中没有注释):
public interface SafeRideRequestFactory extends RequestFactory {
public UserService userService();
@Service(value = UserDAO.class, locator = DAOServiceLocator.class)
interface UserService extends DAORequestContext<SRSUserProxy> { }
}
我得到运行时异常:
[ERROR] org.saferide.shared.service.DAORequestContext has no mapping to a domain type (e.g. @ProxyFor or @Service)
[ERROR] The type org.saferide.shared.service.DAORequestContext must be annotated with a @Service or @ServiceName annotation
[ERROR] The RequestContext type org.saferide.shared.service.DAORequestContext did not pass validation
[ERROR] Unexpected error
com.google.web.bindery.requestfactory.server.UnexpectedException: The RequestContext type org.saferide.shared.service.DAORequestContext did not pass validation
是否只允许 RequestContext 的直接后代?有人遇到过这个吗?