gpt4 book ai didi

java - 拦截器未调用且不可见(在日志中,在部署期间什么也看不到)

转载 作者:行者123 更新时间:2023-12-01 09:21:39 25 4
gpt4 key购买 nike

我有一个类(class):

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 时,应该(在调用此方法之前)启动拦截器。

它似乎忽略了拦截器。

为什么这不起作用?我做错了什么?

最佳答案

请将您的方法公开,私有(private)方法不会被拦截。

关于java - 拦截器未调用且不可见(在日志中,在部署期间什么也看不到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40133214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com