Remove commons pool 2.x workaround
While working on SPR-12532, an extra IdentityWrapper was added to work around a backward compatible issue between commons pool 1.x and 2.x. This issue (POOL-283) has actually been fixed in 2.4 and their IdentityWrapper is using object equality so our wrapper is in the way. Looking retrospectively, the code looks all fine without the workaround and commons pool 2.4 or later so it has been removed.
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
|
||||
|
||||
<beans>
|
||||
|
||||
<bean id="prototypeTest" class="org.springframework.tests.sample.beans.SideEffectBean" scope="prototype">
|
||||
<property name="count"><value>10</value></property>
|
||||
</bean>
|
||||
|
||||
<bean id="poolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
|
||||
<property name="targetBeanName"><value>prototypeTest</value></property>
|
||||
<property name="maxSize"><value>25</value></property>
|
||||
</bean>
|
||||
|
||||
<bean id="poolConfigAdvisor" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
|
||||
<property name="targetObject"><ref local="poolTargetSource" /></property>
|
||||
<property name="targetMethod"><value>getPoolingConfigMixin</value></property>
|
||||
</bean>
|
||||
|
||||
<bean id="nop" class="org.springframework.tests.aop.interceptor.NopInterceptor"/>
|
||||
|
||||
<!--
|
||||
This will create a bean for each thread ("apartment")
|
||||
-->
|
||||
<bean id="pooled" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
<property name="targetSource"><ref local="poolTargetSource"/></property>
|
||||
<property name="interceptorNames"><value>nop</value></property>
|
||||
</bean>
|
||||
|
||||
<bean id="pooledNoInterceptors" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
<property name="targetSource"><ref local="poolTargetSource"/></property>
|
||||
</bean>
|
||||
|
||||
<bean id="pooledWithMixin" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
<property name="targetSource"><ref local="poolTargetSource"/></property>
|
||||
<property name="interceptorNames"><value>poolConfigAdvisor</value></property>
|
||||
<!-- Necessary as have a mixin and want to avoid losing the class,
|
||||
because there's no target interface -->
|
||||
<property name="proxyTargetClass"><value>true</value></property>
|
||||
</bean>
|
||||
|
||||
<!-- Serialization tests using serializable target and advice -->
|
||||
<bean id="serializableNop" class="org.springframework.tests.aop.interceptor.SerializableNopInterceptor" />
|
||||
|
||||
<bean id="prototypePerson" class="org.springframework.tests.sample.beans.SerializablePerson" scope="prototype"/>
|
||||
|
||||
<bean id="personPoolTargetSource" class="org.springframework.aop.target.CommonsPoolTargetSource">
|
||||
<property name="targetBeanName"><value>prototypePerson</value></property>
|
||||
<property name="maxSize"><value>10</value></property>
|
||||
</bean>
|
||||
|
||||
<bean id="pooledPerson" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
<property name="targetSource"><ref local="personPoolTargetSource"/></property>
|
||||
<property name="interceptorNames"><value>serializableNop</value></property>
|
||||
|
||||
</bean>
|
||||
|
||||
<bean id="maxSizePooledPerson" class="org.springframework.aop.framework.ProxyFactoryBean">
|
||||
<property name="targetSource">
|
||||
<bean class="org.springframework.aop.target.CommonsPoolTargetSource">
|
||||
<property name="targetBeanName" value="prototypePerson"/>
|
||||
<property name="maxSize" value="10"/>
|
||||
<property name="maxWait" value="1"/>
|
||||
</bean>
|
||||
</property>
|
||||
<property name="interceptorNames"><value>serializableNop</value></property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
Reference in New Issue
Block a user