Example usage for org.springframework.data.redis.connection.lettuce LettucePoolingClientConfiguration builder

List of usage examples for org.springframework.data.redis.connection.lettuce LettucePoolingClientConfiguration builder

Introduction

In this page you can find the example usage for org.springframework.data.redis.connection.lettuce LettucePoolingClientConfiguration builder.

Prototype

static LettucePoolingClientConfigurationBuilder builder() 

Source Link

Document

Creates a new LettucePoolingClientConfigurationBuilder to build LettucePoolingClientConfiguration to be used with the Lettuce client.

Usage

From source file:org.springframework.data.redis.connection.lettuce.LettuceConnectionFactoryTests.java

@Test // DATAREDIS-667
public void factoryCreatesPooledConnections() {

    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();

    LettuceClientConfiguration configuration = LettucePoolingClientConfiguration.builder()
            .poolConfig(poolConfig).clientResources(LettuceTestClientResources.getSharedClientResources())
            .shutdownTimeout(Duration.ZERO).build();

    LettuceConnectionFactory factory = new LettuceConnectionFactory(new RedisStandaloneConfiguration(),
            configuration);// w  ww  . j a  v  a 2 s.c  o  m
    factory.setShareNativeConnection(false);
    factory.afterPropertiesSet();

    ConnectionFactoryTracker.add(factory);

    RedisConnection initial = factory.getConnection();
    Object initialNativeConnection = initial.getNativeConnection();

    initial.close();

    RedisConnection subsequent = factory.getConnection();
    Object subsequentNativeConnection = subsequent.getNativeConnection();

    subsequent.close();

    assertThat(initialNativeConnection, is(subsequentNativeConnection));

    factory.destroy();
}

From source file:org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfigurationUnitTests.java

@Test // DATAREDIS-667
public void shouldConfigureAllProperties() {

    ClientOptions clientOptions = ClientOptions.create();
    ClientResources sharedClientResources = LettuceTestClientResources.getSharedClientResources();
    GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();

    LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.builder() //
            .useSsl() //
            .disablePeerVerification() //
            .startTls().and() //
            .poolConfig(poolConfig) //
            .clientOptions(clientOptions) //
            .clientResources(sharedClientResources) //
            .commandTimeout(Duration.ofMinutes(5)) //
            .shutdownTimeout(Duration.ofHours(2)) //
            .shutdownQuietPeriod(Duration.ofMinutes(5)) //
            .build();/* w  w  w . j a  va2s. c o  m*/

    assertThat(configuration.getPoolConfig()).isEqualTo(poolConfig);
    assertThat(configuration.isUseSsl()).isTrue();
    assertThat(configuration.isVerifyPeer()).isFalse();
    assertThat(configuration.isStartTls()).isTrue();
    assertThat(configuration.getClientOptions()).contains(clientOptions);
    assertThat(configuration.getClientResources()).contains(sharedClientResources);
    assertThat(configuration.getCommandTimeout()).isEqualTo(Duration.ofMinutes(5));
    assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofHours(2));
    assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofMinutes(5));
}