The Spring framework provides the annotation Async
to mark a method (or all methods of a type) as a candidate for asynchronous
execution.
Asynchronous methods do not necessarily, by their nature, return the result of their calculation immediately. Hence, it is unexpected and in clear
breach of the Async
contract for such methods to have a return type that is neither void
nor a Future
type.