2011-11-29 25 views
1

在jedis文檔中,它說創建一個池:在spring中使用jedis,但不是在spring-data lib中,在哪裏存儲池?

JedisPool pool = new JedisPool(new JedisPoolConfig(),「localhost」);

而且我應該將這個靜態存儲在某個地方。

我知道spring有一個正在開發的spring-data庫,但我現在只想使用這個庫w/o。

你在哪裏建議我創建這個池的靜態引用?

我應該創建一個JedisService,然後有一個公共方法返回這個池嗎?

我使用單例模式來做到這一點嗎?返回前鎖定?

回答

1

如果你使用的是Spring,你不能使用new並且在Spring的控制下有對象。使它成爲一個Spring bean並使用工廠方法初始化它。

你申報你的Spring應用程序上下文XML豆(或使用註解,如果你願意):

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

如何定義一個bean,並使其靜態任何提示?任何代碼將不勝感激,因爲我不熟悉這一點。 – Blankman

+0

查看我更新的答案。 – duffymo

+0

但這不會使它變成靜態的嗎? – Blankman