0

我正在使用以下配置使用 jedis 客户端连接到 redis。我想创建 OSGi 共享池服务,以便将其导出并在其他捆绑包中使用。请让我知道该怎么做。

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxActive" value="200" />
    <property name="maxIdle" value="50" />
    <property name="maxWait" value="3000" />
    <property name="testOnBorrow" value="${jedis.testOnBorrow}" />
</bean>

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
    <constructor-arg index="0" ref="jedisPoolConfig" />
    <constructor-arg index="1" value="${jedis.host}" />
    <constructor-arg index="2" value="${jedis.port}" />
</bean>
4

1 回答 1

1

查看 API 文档,JedisPool 不使用支持接口,因此您需要推出自己的接口来准确定义您的应用程序需要共享的操作。然后创建一个具体的基类来扩展或封装您的 JedisPool 实例并将其导出为 OSGi 服务。

根据您在上面的代码片段中使用的依赖注入 API,Spring DM 和蓝图都有简单的服务导出元素,这将简化 OSGi 服务部分的导出,因此您可以专注于接口和支持的 POJO。

于 2012-05-23T16:32:31.937 回答