使用带有弹簧的jedis,但不使用spring-data lib,在哪里存储池?

时间:2011-11-29 02:21:24

标签: java redis jedis

在jedis文档中,它说要创建一个池:

JedisPool pool = new JedisPool(new JedisPoolConfig(),“localhost”);

而且我应该静态存储这个。

我知道spring有一个正在开发的spring-data库,但我只想暂时使用那个库。

你在哪里建议我创建这个池的静态引用?

我应该创建一个JedisService,然后有一个返回此池的公共方法吗?

我是否使用单例模式执行此操作?在返回之前锁定?

1 个答案:

答案 0 :(得分:1)

如果您正在使用Spring,则无法使用new并将该对象置于Spring的控制之下。使它成为一个Spring bean并使用工厂方法初始化它。

您在Spring应用程序上下文XML中声明bean(或者如果您愿意,可以使用注释):

 

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