DATAREDIS-1027 - Dispose reactive LettuceConnectionProvider on connection factory shutdown.
LettuceConnectionFactory.destroy() now disposes also the reactive LettuceConnectionProvider to free resources of a connection pool. Original Pull Request: #470
This commit is contained in:
committed by
Christoph Strobl
parent
595c0796c4
commit
3fad6e5adc
@@ -48,6 +48,7 @@ import org.junit.Test;
|
||||
import org.mockito.ArgumentMatchers;
|
||||
|
||||
import org.springframework.beans.DirectFieldAccessor;
|
||||
import org.springframework.beans.factory.DisposableBean;
|
||||
import org.springframework.data.redis.ConnectionFactoryTracker;
|
||||
import org.springframework.data.redis.connection.RedisClusterConfiguration;
|
||||
import org.springframework.data.redis.connection.RedisClusterConnection;
|
||||
@@ -805,6 +806,25 @@ public class LettuceConnectionFactoryUnitTests {
|
||||
verify(connectionProviderMock, times(2)).getConnection(StatefulConnection.class);
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-1027
|
||||
public void shouldDisposeConnectionProviders() throws Exception {
|
||||
|
||||
LettuceConnectionProvider connectionProviderMock = mock(LettuceConnectionProvider.class,
|
||||
withSettings().extraInterfaces(DisposableBean.class));
|
||||
LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory() {
|
||||
@Override
|
||||
protected LettuceConnectionProvider doCreateConnectionProvider(AbstractRedisClient client,
|
||||
RedisCodec<?, ?> codec) {
|
||||
return connectionProviderMock;
|
||||
}
|
||||
};
|
||||
|
||||
connectionFactory.afterPropertiesSet();
|
||||
connectionFactory.destroy();
|
||||
|
||||
verify((DisposableBean) connectionProviderMock, times(2)).destroy();
|
||||
}
|
||||
|
||||
@Test // DATAREDIS-842
|
||||
public void databaseShouldBeSetCorrectlyOnSentinelClient() {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user