#java #spring #asynchronous
#java #весна #асинхронный
Вопрос:
@Async javadoc заявляет, что он помечает только кандидата на asynchronous execution
,
- Означает ли это, что асинхронное выполнение не гарантируется?
- В частности, что произойдет с транзакцией в режиме гибернации, если кандидат (
postProcessor#process
), который был отмечен для асинхронного выполнения, но не выполнялся асинхронно и вызвал исключение
Service{
@Transactional
public void save(Entity entity){
repository.save(entity);
asyncPostProcessor.process(entity); //threw Exception
}
}
AsyncPostProcessor{
@Async
void process(Entity entity){
throw new IllegalArgumentException();
}
}
A
Комментарии:
1. Означает ли это, что асинхронное выполнение не гарантируется? Если у вас не хватит возможности создавать дополнительные потоки, то, я думаю, это не будет действительно асинхронным?