Используя джедай с пружиной, но не с Spring-Data Lib, где хранить пул? - PullRequest
1 голос
/ 29 ноября 2011

В документах jedis говорится, что нужно создать пул:

Пул JedisPool = новый JedisPool (новый JedisPoolConfig (), "localhost");

И что я должен хранить это где-то статически.

Я знаю, что у Spring есть библиотека данных Spring, которая находится в разработке, но я просто хочу использовать библиотеку без нее пока.

Где вы предлагаете мне создать эту статическую ссылку на пул?

Должен ли я создать JedisService и затем иметь открытый метод, который возвращает этот пул?

Я делаю это, используя шаблон синглтона? заблокировать перед возвращением?

1 Ответ

1 голос
/ 29 ноября 2011

Если вы используете Spring, вы не можете использовать new и иметь объект под контролем Spring.Сделайте его bean-компонентом Spring и инициализируйте его с помощью фабричного метода.

Вы объявляете bean-компоненты в XML-контексте контекста приложения Spring (или с помощью аннотаций, если вы так склонны):

<bean id="jedisPool" class="foo.bar.JedisPool">
    <constructor-arg ref="jedisPoolCofig"/>
    <constructor-arg value="localhost"/
</bean>
...