2
enableTransactionSupport
をtrue
に設定すると、接続はプールに戻されません。 @Transactional
メソッドが終了しても、接続はスレッドにバインドされていますが、これは大きな問題です。どのように解決できますか?私は春-データRedisの2.7.2および2.8.1 jedisスプリングデータRedis enableTransactionSupport接続がプールに戻らない
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxWaitMillis" value="${redis.maxWaitMillis}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
<property name="testOnReturn" value="false" />
</bean>
<bean id="jedisFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.host}" />
<property name="port" value="${redis.port}" />
<property name="usePool" value="true" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisFactory" />
<property name="enableTransactionSupport" value="true" />
<property name="defaultSerializer">
<bean class="com.wd.ics.util.CustomRedisSerializer" /> </property>
</bean>
接続iがenableTransactionSupport
を使用しない場合、それは大丈夫です、Redisのプールにリリースされていないを使用しています。しかし、それを解決するSpring.howの@Transactional
をサポートしていません?
コードを投稿してください。ありがとうございました。 – lrnzcig
こんにちは。自分の質問を編集して、すべての情報がそこにあるようにすることができます。コメントを削除しても、情報を失うことなく最終的に削除できるかのようにしてください(例:明確化の要請、わからないことなど)。ありがとうございました。 – lrnzcig
ok、私はそれを解決するSessionCallbackを書いている!それはうまくいく、それはすべて、ありがとう。 –