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 と Blueprint の両方に単純なサービス エクスポート要素があり、OSGi サービス パーツのエクスポートを簡素化するため、インターフェースとサポートする POJO に集中できます。

于 2012-05-23T16:32:31.937 に答える