几年前,在Glassfish 3.1上,我实现了一个类似于此处讨论的性能拦截器: Glassfish - JEE6 - Use of Interceptor to measure performance
完美无缺。 但是现在我想用它来注释异步方法调用。我有点不解。 以前,带注释的方法返回一个布尔值和I. 算了成功的。
Object obj = null;
try {
obj = ctx.proceed();
return obj;
}
finally {
if ( obj != null ) {
if ( obj instanceof Boolean ) {
if ((Boolean)obj == true) {
opStat.successfulCalls++;
}
}
// Also record execution time of method
}
但是,我对异步调用会发生什么感到困惑。
它将返回Future而不是Boolean。那怎么算呢 成功的? 并且是"执行时间"现在只是启动异步请求的时间?
此性能拦截器对于异步方法调用是否无效? 还有另一种方法吗? 感谢