Создать ObjectPool весной - PullRequest
       5

Создать ObjectPool весной

1 голос
/ 24 марта 2010

У меня есть класс


class ObjPool {
 MyObject getObject() {...}
 void returnObject() {...}
 int getUsedCount() {...}
}

Как мы можем использовать Spring Framework, чтобы он предоставлял только одну копию этой фабрики для всех (веб) приложений и чтобы каждое приложение использовало один и тот же ObjPool?

Я имею в виду, если приложение A получает объект из этого ObjPool, то все другие приложения, которые вызывают getUsedCount (), увидят, что это значение уменьшено.

Ответы [ 2 ]

3 голосов
/ 24 марта 2010

В Spring каждый компонент по умолчанию является синглтоном, что означает - один экземпляр компонента на ApplicationContext. Это не один на контейнер, а один на веб-приложение.

http://blog.springsource.com/2007/06/11/using-a-shared-parent-application-context-in-a-multi-war-spring-application/ приводит пример загрузки ApplicationContext на уровне EAR и совместного использования во всех войнах.

1 голос
/ 24 марта 2010

Вы можете просто гуглить для "весеннего экспорта в jndi"

http://maestro -lab.

org.springframework.jndi.JndiTemplate - хорошее место для начала

...