【发布时间】:2011-06-21 14:07:06
【问题描述】:
我知道可以通过使用@AroundInvoke 注解在方法调用之前使用拦截器。
我想做的是在方法调用之后执行某些代码,这样我就可以在方法执行之前和之后创建一个日志条目。
这可以通过 EJB3 实现吗,还是我需要使用 AOP?
【问题讨论】:
标签: ejb-3.0 interceptor
我知道可以通过使用@AroundInvoke 注解在方法调用之前使用拦截器。
我想做的是在方法调用之后执行某些代码,这样我就可以在方法执行之前和之后创建一个日志条目。
这可以通过 EJB3 实现吗,还是我需要使用 AOP?
【问题讨论】:
标签: ejb-3.0 interceptor
@AroundInvoke 拦截器传入InvocationContext,必须调用proceed()来推进方法。因此:
@AroundInvoke
public Object log(InvocationContext ic) throws Exception {
logEntry();
try {
return ic.proceed();
} finally {
logExit();
}
}
根据您的需要,您还可以记录返回值或异常,过滤记录的方法等。
【讨论】: