0
我有一个类:拦截器不调用和不可见的(在日志中,在部署没有看到)
import javax.inject.Inject;
import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;
public class AccessReportInterceptor {
private Logger log = Logger.getLogger(AccessReportInterceptor.class);
@Inject
private AccessReportManager accessReportManager;
@AroundInvoke
public Object intercept(InvocationContext context) throws Exception {
log.info("invoked");
return context.proceed();
}
}
@Stateless
@Remote(ActionTypeHandlerRemote.class)
public class ActionTypeHandler implements ActionTypeHandlerRemote{
@EJB protected DataManager dataManager;
@Interceptors({AccessReportInterceptor.class})
private void persistNewUser(User newUser){
logger.info("Persisting new user: " + newUser.getLogin());
logger.info("For : " + newUser.getName());
newUser.setCreateTime(new Date());
dataManager.persist(newUser);
}
@Interceptors({AccessReportInterceptor.class})
private void mergeUser(User user){
logger.info("Merging user with id: " + user.getLogin());
user.setCreateTime(new Date());
dataManager.merge(user);
}
}
当我调用的方法persistNewUser或mergeUser则应(之前调用此方法)开始拦截。
它似乎忽略了拦截器。
为什么这不起作用?我做错了什么?
你是如何调用这些私有方法的? –