如何使用 Spring 的 ThreadPoolExecutorFactoryBean Factory Bean



我希望能够将ExecutorService实例注入我的Spring服务中,Spring API建议为此目的使用ThreadPoolExecutorFactoryBean。非常简单的问题;我到底如何使用ThreadPoolExecutorFactoryBean来创建可以连接到其他服务的ExecutorService

我觉得问他的问题完全是个白痴,但我似乎无法弄清楚这一点。

为了扩展斯卡夫曼的答案,这里有一个简短而甜蜜的例子,说明一个人需要做什么:

<bean id="classNeedingExecutor" class="foo.Bar">
  <property name="executor" ref="threadExecutor" />
</bean>
<bean id="threadExecutor"
  class="org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean">
  <property name="corePoolSize" value="1" />
  <property name="maxPoolSize" value="1" />
</bean>

同样,请参阅 JavaDocs 以获取可用于配置ExecutorService的其他属性的说明。

首先,您需要了解什么是FactoryBean - 阅读春季文档的第 3.8.3 节。

然后,您阅读Javadoc ThreadPoolExecutorFactoryBean并了解它的作用。

接下来,在上下文中配置ThreadPoolExecutorFactoryBean。这将创建一个ExecutorService(因为它是一个FactoryBean,见上文),你可以将其注入到你的bean中。

如果您使用的是 Spring 3,http://blog.espenberntsen.net/2010/03/08/spring-asynchronous-support/,则可以考虑使用 @Async。

相关内容

最新更新