本文共 590 字,大约阅读时间需要 1 分钟。
AOP+JCU的ThreadPool和Future实现了异步任务,很简单,直接看spring实现的源代码吧:
public Object invoke(final MethodInvocation invocation) throws Throwable { Future result = this.asyncExecutor.submit(new Callable() { public Object call() throws Exception { try { Object result = invocation.proceed(); if (result instanceof Future) { return ((Future) result).get(); } } catch (Throwable ex) { ReflectionUtils.rethrowException(ex); } return null; } }); if (Future.class.isAssignableFrom(invocation.getMethod().getReturnType())) { return result; } else { return null; } }
转载地址:http://ymdmi.baihongyu.com/