Почему Spring предлагает своих исполнителей? - PullRequest
0 голосов
/ 30 декабря 2018

Зачем нам нужно AsyncTaskExecutor (и это реализации, то есть SimpleAsyncTaskExecutor), когда Java предлагает их уже (через Executors)?

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

SimpleAsyncTaskExecutor является реализацией AsyncTaskExecutor, которая по умолчанию используется при запуске методов @Async.Однако вы можете указать свой собственный TaskExecutor вместо используемого по умолчанию.Причина, по которой Spring делает это, заключается в том, чтобы дать вам больше гибкости.

0 голосов
/ 30 декабря 2018

TaskExecutor - это, по сути, абстракция Spring над стандартным JDK Executor.

Эквивалентен интерфейсу JDK 1.5 java.util.concurrent.Executor;расширяя его сейчас в Spring 3.0, , чтобы клиенты могли объявить зависимость от Executor и получить любую реализацию TaskExecutor.

Javadoc org.springframework.core.task.TaskExecutor

Spring, ребята, создают собственную экосистему и заботятся о том, как она может сосуществовать со стандартными средствами JDK.Обычно эти реализации являются более конкурентоспособными, более богатыми API и ориентированы на Spring (активно используются внутри самой Spring Framework).

...