我正在研究这里描述的弹簧池的例子。
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>
我非常怀疑。