Java Spring Boot异步+;自动连线执行器与手动执行器+;未来/可赎回?
创建和管理您自己的Java Spring Boot异步+;自动连线执行器与手动执行器+;未来/可赎回?,java,spring,asynchronous,spring-boot,spring-async,Java,Spring,Asynchronous,Spring Boot,Spring Async,创建和管理您自己的ExecutorService与使用Spring-Boot的@Async-on方法和@Bean方法创建Executor相比,是否存在缺点 对我来说,手动操作似乎简单得多。我只需创建我的ExecutorService和一个方法,用它来调度任务/可调用的 我需要弹簧靴: 用@Async 用@Configuration,@EnableAsync 添加@Bean以创建执行器 手动操作是否存在潜在问题?Spring可能会杀死线程吗?使用Spring异步模式还有其他好处吗?您的大多数挂
ExecutorService
与使用Spring-Boot的@Async-on方法和@Bean
方法创建Executor
相比,是否存在缺点
对我来说,手动操作似乎简单得多。我只需创建我的ExecutorService
和一个方法,用它来调度任务/可调用的
我需要弹簧靴:
- 用
@Async
- 用
,@Configuration
@EnableAsync
- 添加
以创建@Bean
执行器
手动操作是否存在潜在问题?Spring可能会杀死线程吗?使用Spring异步模式还有其他好处吗?您的大多数挂起问题似乎都适用于许多Spring IoC配置。
@Async
是Spring框架的一部分,而不是Spring引导
正如您所提到的,您可以自己处理执行器,但是如果您已经开始使用Spring框架和Spring引导,我会问您为什么要麻烦
Spring本身在后台处理一些项目,例如关闭ApplicationContext时执行器的关闭
如果您选择使用Spring框架,还可以使用一些很好的烘焙异常处理,与Spring框架的调度方面一起使用
必须创建@Bean
,@Configuration
是Spring的一个现实,在我看来,这并不是真正的倒退,它只是框架的一个现实
最后,@Async
抽象了实现Runnable
或@Callable
的需要,从而有效地允许更快地实现异步功能