我如何实际使用Spring池化对象?

时间:2015-04-09 04:08:31

标签: java spring pool

我正在研究这里描述的弹簧池的例子。

http://docs.spring.io/spring/docs/2.0.0/reference/aop-api.html#aop-ts-pool

我在这里读过一个非常相似的问题,但仍然没有答案。

How to use Pooled Spring beans instead of Singleton ones?

假设我在SpringConfig文件中定义了以下bean,我该如何实际使用池化对象?

<bean id="businessObjectTarget" class="com.mycompany.MyBusinessObject" scope="prototype">
    ... properties omitted
</bean>

<bean id="poolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
  <property name="targetBeanName" value="businessObjectTarget"/>
  <property name="maxSize" value="25"/>
</bean>

<bean id="businessObject" class="org.springframework.aop.framework.ProxyFactoryBean">
  <property name="targetSource" ref="poolTargetSource"/>
</bean>

我正在做这样的事情,但我不知道如何判断它是否有效。

@Resource(name = "businessObject")
private MyBusinessObject businessObject;
...
method() {
   ...
   businessObject.method();
   ...
}

我实际上应该如何使用合并对象?

感谢。

PS - 我现在更不确定它是否正常工作。我做了以下更改并提交了两个主题。第一个工作,第二个得到一个指示同时使用的错误:

<bean id="poolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
    <property name="targetBeanName" value="businessObjectTarget" />
    <property name="maxSize" value="1" />
    <property name="whenExhaustedActionName" value="WHEN_EXHAUSTED_FAIL" />
</bean>

我非常怀疑。

0 个答案:

没有答案