1

多くのリクエストがあり、最大プール サイズに達すると、リソースが解放されるまで他のリクエストが待機することに気付きました。CommonsPoolTargetSource最大プール サイズに達したときに新しいオブジェクト インスタンスが作成されるように設定するにはどうすればよいですか? 余分なリソースも、使用後に解放する必要があります。

最初、物件を探してみましたが、物件がないminSizeことがわかりました。以下は私のweb.xmlの本体です:CommonsPoolTargetSourceminSize

<bean id="simpleBeanTarget" class="com.bean.SimpleBean" scope="prototype">        
</bean>

<bean id="poolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
    <property name="targetBeanName" value="simpleBeanTarget" />
    <property name="maxSize" value="3" />
    <!-- How do I let the pool grow if more than 3 instances is needed? -->
    <!-- And how do I release the excess instances after usage? -->
</bean>

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

1 に答える 1

3

試す <property name="whenExhaustedActionName" value="WHEN_EXHAUSTED_GROW" />

また

<property name="whenExhaustedAction">
 <util:constant static-field="org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_GROW"/>
</property>
于 2013-03-19T09:08:52.713 に答える