Для вашего случая, если вам нужен ваш собственный клиентский компонент, вы можете сделать это следующим образом. Но в таком случае businessObject не требуется.
ображений эффективности я заинтересован в ограничении количества потоков, которые одновременно используют компоненты контекста приложения Spring (я не хочунеограниченный количество потоков, обрабатывающих в моемограниченное Память).
я нашелВот (весенняя документация) способ достичь этого путем объединения компонентов в стиле EJB, выполнив следующее:
Объявите целевой компонент как область действия «прототип».Объявите провайдера пула, который будет поставлять ограниченное количество объединенных целевых экземпляров.Объявите «ProxyFactoryBean», функция которого мне не понятна.Вот объявление этого бобов:
<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"/>
<property name="interceptorNames" value="myInterceptor"/>
</bean>
Моя проблема заключается в том, что, когда я объявлю другой компонент для использования объединенных экземпляров "businessObjectTarget", как мне это сделать? Я имею в виду, когда я пытаюсь сделать что-то вроде этого:
<bean id="clientBean" class="com.mycompany.ClientOfTheBusinessObject">
<property name="businessObject" ref="WHAT TO PUT HERE???"/>
</bean>
Какой должна быть стоимость "ref" ??