@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface Async
Title: Async.java
Description: 用来支持服务组件方法的异步调用机制 1.采用异步调用,但是结果通过回调的方式返回给调用端 2、不需要等待结果的的异步调用 3、需要等待结果,但是指定等待超时时间,一旦timeout就报超时异常
bboss workgroup
Copyright (c) 2007
| 限定符和类型 | 可选元素和说明 |
|---|---|
java.lang.String |
callback
采用异步调用,但是结果通过回调的方式返回给调用端
|
Result |
result
是否需要返回调用结果,默认不返回,主线程继续往前走
如果需要返回则,根据timeout和callback两个参数来决定
返回结果的等待处理模式:
当timeout > 0 则等待特定的时间来来获取结果,超过指定的时间后就抛超时异常,等待超时的模式又分为两种情况:
如果指定了回调函数,不阻塞主程序,将结果交给回调函数来处理
如果没有指定回调函数则阻塞主程序,将结果交给主程序来处理
当timeout <= 0 时,则永久等待结果,直到结果返回,这种模式也分两种情况:
如果指定了回调函数 则不阻塞主程序,
如果没有指定回调函数,则阻塞主程序,直到结果返回来
|
long |
timeout
指定异步调用的超时时间,默认为-1及永久等待,直到调用方返回
大于0时,等待结果,超过指定的时间就抛出超时异常
|
public abstract long timeout
public abstract Result result