Java 如何将特定ExecutorService与@Async一起使用?
Java 如何将特定ExecutorService与@Async一起使用?,java,spring,asynchronous,Java,Spring,Asynchronous,@Async(value=”“)可以使用执行器或任务执行器名称来运行异步进程 我的目标是使用默认的spring实现来执行@Async方法,但要有一个特定的方法@Async(value=“myExecutor”)与特定的执行器一起运行 我希望使用一个执行器,它一次只运行一个线程,并在队列中保留任何其他数据 @Bean public ExecutorService getMyTaskExecutor() { return Executors.newFixedThreadPool(1); }
@Async(value=”“)
可以使用执行器
或任务执行器
名称来运行异步进程
我的目标是使用默认的spring
实现来执行@Async
方法,但要有一个特定的方法@Async(value=“myExecutor”)
与特定的执行器一起运行
我希望使用一个执行器,它一次只运行一个线程,并在队列中保留任何其他数据
@Bean
public ExecutorService getMyTaskExecutor() {
return Executors.newFixedThreadPool(1);
}
问题:我现在如何将此ExecutorService
应用于我的@Async
方法
@Async(value = "myTaskExecutor")
public void myprocess() {
}
@Async(value = "asdasdasdMyTaskExecutor")
public void myprocess() {
}
问题是:无论我在这里写什么值,应用程序都会启动。因此,我无法确定此处是否应用了正确的执行者。我必须使用什么bean名称?根据,它应该是@Async(“myTaskExecutor”)引用文档:
当name
属性可用时,确定bean名称的默认策略是使用@bean
方法的名称
同样地,如果您的方法名为getMyTaskExecutor
,那么您应该有@Async(value=“getMyTaskExecutor”)
,即执行器的名称必须与bean的名称相对应,默认情况下,bean的名称是@bean
注释方法的名称