@Async源码注释
上方注释
注解使用在方法上,方法将标记为异步执行的候选方法。也可以使用在类上,在这种情况下,类的所有方法都被认为是异步的。但是请注意, @Configuration配置类中声明的方法不支持@Async
就目标方法签名而言,支持任何参数类型。然而,返回类型被限制为void或Future。在后一种情况下,您可以声明更具体的ListenableFuture或CompletableFuture类型,这允许与异步任务进行更丰富的交互,并允许与进一步的处理步骤立即组合。
从代理返回的Future句柄将是一个实际的异步Future,可用于跟踪异步方法执行的结果。然而,由于目标方法需要实现相同的签名,它将不得不返回一个仅传递值的临时的Future句柄,例如像spring的AsyncResult或AsyncResult或CompletableFuture来传递。
补充说明:方法签名:方法名和参数列表一起构成方法签名。
value()上方注释
指定异步操作的限定符值。可以用来确定在执行异步操作时要使用的目标执行器,匹配特定executor或TaskExecutor bean定义的限定符值(或bean名称)。
当在类级别的@Async注释上指定时,表示给定的执行器应该用于类中的所有方法。方法级使用value值总是覆盖在类级设置的任何值。
希望本文章对您有帮助,您的转发、点赞是我的创作动力,十分感谢。更多好文推荐,请关注我的微信公众号--JustJavaIt