public class JedisConnectionFactory extends Object implements InitializingBean, DisposableBean, RedisConnectionFactory
JedisConnectionFactory should be configured using an environmental configuration and the
client configuration. Jedis supports the following environmental configurations:
JedisClientConfiguration,
Jedis| Constructor and Description |
|---|
JedisConnectionFactory()
Constructs a new
JedisConnectionFactory instance with default settings (default connection pooling, no
shard information). |
JedisConnectionFactory(redis.clients.jedis.JedisPoolConfig poolConfig)
Constructs a new
JedisConnectionFactory instance using the given pool configuration. |
JedisConnectionFactory(redis.clients.jedis.JedisShardInfo shardInfo)
Deprecated.
since 2.0, configure Jedis with
JedisClientConfiguration and
RedisStandaloneConfiguration. |
JedisConnectionFactory(RedisClusterConfiguration clusterConfig)
Constructs a new
JedisConnectionFactory instance using the given RedisClusterConfiguration applied
to create a JedisCluster. |
JedisConnectionFactory(RedisClusterConfiguration clusterConfig,
JedisClientConfiguration clientConfig)
Constructs a new
JedisConnectionFactory instance using the given RedisClusterConfiguration and
JedisClientConfiguration. |
JedisConnectionFactory(RedisClusterConfiguration clusterConfig,
redis.clients.jedis.JedisPoolConfig poolConfig)
Constructs a new
JedisConnectionFactory instance using the given RedisClusterConfiguration applied
to create a JedisCluster. |
JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig)
Constructs a new
JedisConnectionFactory instance using the given JedisPoolConfig applied to
JedisSentinelPool. |
JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig,
JedisClientConfiguration clientConfig)
Constructs a new
JedisConnectionFactory instance using the given RedisSentinelConfiguration and
JedisClientConfiguration. |
JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig,
redis.clients.jedis.JedisPoolConfig poolConfig)
Constructs a new
JedisConnectionFactory instance using the given JedisPoolConfig applied to
JedisSentinelPool. |
JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfig)
Constructs a new
JedisConnectionFactory instance using the given RedisStandaloneConfiguration. |
JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfig,
JedisClientConfiguration clientConfig)
Constructs a new
JedisConnectionFactory instance using the given RedisStandaloneConfiguration and
JedisClientConfiguration. |
| Modifier and Type | Method and Description |
|---|---|
void |
afterPropertiesSet() |
protected redis.clients.jedis.JedisCluster |
createCluster(RedisClusterConfiguration clusterConfig,
org.apache.commons.pool2.impl.GenericObjectPoolConfig<?> poolConfig)
|
protected redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> |
createRedisPool()
Creates
JedisPool. |
protected redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> |
createRedisSentinelPool(RedisSentinelConfiguration config)
Creates
JedisSentinelPool. |
protected ClusterTopologyProvider |
createTopologyProvider(redis.clients.jedis.JedisCluster cluster)
Template method to create a
ClusterTopologyProvider given JedisCluster. |
void |
destroy() |
protected redis.clients.jedis.Jedis |
fetchJedisConnector()
Returns a Jedis instance to be used as a Redis connection.
|
JedisClientConfiguration |
getClientConfiguration() |
String |
getClientName()
Returns the client name.
|
RedisClusterConfiguration |
getClusterConfiguration() |
RedisClusterConnection |
getClusterConnection()
Provides a suitable connection for interacting with Redis Cluster.
|
RedisConnection |
getConnection()
Provides a suitable connection for interacting with Redis.
|
boolean |
getConvertPipelineAndTxResults()
Specifies if pipelined results should be converted to the expected data type.
|
int |
getDatabase()
Returns the index of the database.
|
String |
getHostName()
Returns the Redis hostname.
|
String |
getPassword()
Returns the password used for authenticating with the Redis server.
|
org.apache.commons.pool2.impl.GenericObjectPoolConfig |
getPoolConfig()
Returns the poolConfig.
|
int |
getPort()
Returns the port used to connect to the Redis instance.
|
RedisSentinelConfiguration |
getSentinelConfiguration() |
RedisSentinelConnection |
getSentinelConnection()
Provides a suitable connection for interacting with Redis Sentinel.
|
redis.clients.jedis.JedisShardInfo |
getShardInfo()
Deprecated.
since 2.0.
|
RedisStandaloneConfiguration |
getStandaloneConfiguration() |
int |
getTimeout()
Returns the timeout.
|
boolean |
getUsePool()
Indicates the use of a connection pool.
|
boolean |
isRedisClusterAware() |
boolean |
isRedisSentinelAware() |
boolean |
isUseSsl()
Returns whether to use SSL.
|
protected JedisConnection |
postProcessConnection(JedisConnection connection)
Post process a newly retrieved connection.
|
void |
setClientName(String clientName)
Deprecated.
since 2.0, configure the client name using
JedisClientConfiguration. |
void |
setConvertPipelineAndTxResults(boolean convertPipelineAndTxResults)
Specifies if pipelined results should be converted to the expected data type.
|
void |
setDatabase(int index)
Deprecated.
since 2.0, configure the client name using
RedisSentinelConfiguration or
RedisStandaloneConfiguration. |
void |
setHostName(String hostName)
Deprecated.
since 2.0, configure the hostname using
RedisStandaloneConfiguration. |
void |
setPassword(String password)
Deprecated.
since 2.0, configure the password using
RedisStandaloneConfiguration,
RedisSentinelConfiguration or RedisClusterConfiguration. |
void |
setPoolConfig(redis.clients.jedis.JedisPoolConfig poolConfig)
Deprecated.
since 2.0, configure
JedisPoolConfig using JedisClientConfiguration. |
void |
setPort(int port)
Deprecated.
since 2.0, configure the port using
RedisStandaloneConfiguration. |
void |
setShardInfo(redis.clients.jedis.JedisShardInfo shardInfo)
Deprecated.
since 2.0, configure the individual properties from
JedisShardInfo using
JedisClientConfiguration. |
void |
setTimeout(int timeout)
Deprecated.
since 2.0, configure the timeout using
JedisClientConfiguration. |
void |
setUsePool(boolean usePool)
Deprecated.
since 2.0, configure pooling usage with
JedisClientConfiguration. |
void |
setUseSsl(boolean useSsl)
Deprecated.
since 2.0, configure the SSL usage with
JedisClientConfiguration. |
DataAccessException |
translateExceptionIfPossible(RuntimeException ex) |
public JedisConnectionFactory()
JedisConnectionFactory instance with default settings (default connection pooling, no
shard information).@Deprecated public JedisConnectionFactory(redis.clients.jedis.JedisShardInfo shardInfo)
JedisClientConfiguration and
RedisStandaloneConfiguration.JedisConnectionFactory instance. Will override the other connection parameters passed
to the factory.shardInfo - shard informationpublic JedisConnectionFactory(redis.clients.jedis.JedisPoolConfig poolConfig)
JedisConnectionFactory instance using the given pool configuration.poolConfig - pool configurationpublic JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig)
JedisConnectionFactory instance using the given JedisPoolConfig applied to
JedisSentinelPool.sentinelConfig - must not be null.public JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig, redis.clients.jedis.JedisPoolConfig poolConfig)
JedisConnectionFactory instance using the given JedisPoolConfig applied to
JedisSentinelPool.sentinelConfig - the sentinel configuration to use.poolConfig - pool configuration. Defaulted to new instance if null.public JedisConnectionFactory(RedisClusterConfiguration clusterConfig)
JedisConnectionFactory instance using the given RedisClusterConfiguration applied
to create a JedisCluster.clusterConfig - must not be null.public JedisConnectionFactory(RedisClusterConfiguration clusterConfig, redis.clients.jedis.JedisPoolConfig poolConfig)
JedisConnectionFactory instance using the given RedisClusterConfiguration applied
to create a JedisCluster.clusterConfig - must not be null.public JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfig)
JedisConnectionFactory instance using the given RedisStandaloneConfiguration.standaloneConfig - must not be null.public JedisConnectionFactory(RedisStandaloneConfiguration standaloneConfig, JedisClientConfiguration clientConfig)
JedisConnectionFactory instance using the given RedisStandaloneConfiguration and
JedisClientConfiguration.standaloneConfig - must not be null.clientConfig - must not be null.public JedisConnectionFactory(RedisSentinelConfiguration sentinelConfig, JedisClientConfiguration clientConfig)
JedisConnectionFactory instance using the given RedisSentinelConfiguration and
JedisClientConfiguration.sentinelConfig - must not be null.clientConfig - must not be null.public JedisConnectionFactory(RedisClusterConfiguration clusterConfig, JedisClientConfiguration clientConfig)
JedisConnectionFactory instance using the given RedisClusterConfiguration and
JedisClientConfiguration.clusterConfig - must not be null.clientConfig - must not be null.protected redis.clients.jedis.Jedis fetchJedisConnector()
RedisConnection.protected JedisConnection postProcessConnection(JedisConnection connection)
connection - the jedis connection.public void afterPropertiesSet()
afterPropertiesSet in interface InitializingBeanprotected redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> createRedisSentinelPool(RedisSentinelConfiguration config)
JedisSentinelPool.config - the actual RedisSentinelConfiguration. Never null.Pool to use. Never null.protected redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> createRedisPool()
JedisPool.Pool to use. Never null.protected ClusterTopologyProvider createTopologyProvider(redis.clients.jedis.JedisCluster cluster)
ClusterTopologyProvider given JedisCluster. Creates
JedisClusterConnection.JedisClusterTopologyProvider by default.cluster - the JedisCluster, must not be null.ClusterTopologyProvider.JedisClusterConnection.JedisClusterTopologyProvider,
2.2protected redis.clients.jedis.JedisCluster createCluster(RedisClusterConfiguration clusterConfig, org.apache.commons.pool2.impl.GenericObjectPoolConfig<?> poolConfig)
clusterConfig - must not be null.poolConfig - can be null.JedisCluster.public void destroy()
destroy in interface DisposableBeanpublic RedisConnection getConnection()
RedisConnectionFactorygetConnection in interface RedisConnectionFactorypublic RedisClusterConnection getClusterConnection()
RedisConnectionFactorygetClusterConnection in interface RedisConnectionFactorypublic DataAccessException translateExceptionIfPossible(RuntimeException ex)
translateExceptionIfPossible in interface PersistenceExceptionTranslatorpublic String getHostName()
@Deprecated public void setHostName(String hostName)
RedisStandaloneConfiguration.hostName - the hostname to set.public boolean isUseSsl()
@Deprecated public void setUseSsl(boolean useSsl)
JedisClientConfiguration.useSsl - true to use SSL.IllegalStateException - if JedisClientConfiguration is immutable.@Nullable public String getPassword()
@Deprecated public void setPassword(String password)
RedisStandaloneConfiguration,
RedisSentinelConfiguration or RedisClusterConfiguration.password - the password to set.public int getPort()
@Deprecated public void setPort(int port)
RedisStandaloneConfiguration.port - the Redis port.@Deprecated @Nullable public redis.clients.jedis.JedisShardInfo getShardInfo()
@Deprecated public void setShardInfo(redis.clients.jedis.JedisShardInfo shardInfo)
JedisShardInfo using
JedisClientConfiguration.shardInfo - the shardInfo to set.IllegalStateException - if JedisClientConfiguration is immutable.public int getTimeout()
@Deprecated public void setTimeout(int timeout)
JedisClientConfiguration.timeout - the timeout to set.IllegalStateException - if JedisClientConfiguration is immutable.public boolean getUsePool()
@Deprecated public void setUsePool(boolean usePool)
JedisClientConfiguration.usePool - the usePool to set.IllegalStateException - if JedisClientConfiguration is immutable.IllegalStateException - if configured to use sentinel and usePool is false as Jedis
requires pooling for Redis sentinel use.@Nullable public org.apache.commons.pool2.impl.GenericObjectPoolConfig getPoolConfig()
@Deprecated public void setPoolConfig(redis.clients.jedis.JedisPoolConfig poolConfig)
JedisPoolConfig using JedisClientConfiguration.poolConfig - the poolConfig to set.IllegalStateException - if JedisClientConfiguration is immutable.public int getDatabase()
@Deprecated public void setDatabase(int index)
RedisSentinelConfiguration or
RedisStandaloneConfiguration.index - database index.@Nullable public String getClientName()
@Deprecated public void setClientName(String clientName)
JedisClientConfiguration.clientName - the client name.IllegalStateException - if JedisClientConfiguration is immutable.public JedisClientConfiguration getClientConfiguration()
JedisClientConfiguration.@Nullable public RedisStandaloneConfiguration getStandaloneConfiguration()
RedisStandaloneConfiguration.@Nullable public RedisSentinelConfiguration getSentinelConfiguration()
RedisStandaloneConfiguration, may be null.@Nullable public RedisClusterConfiguration getClusterConfiguration()
RedisClusterConfiguration, may be null.public boolean getConvertPipelineAndTxResults()
JedisConnection.closePipeline() and JedisConnection.exec() will be of the type returned by the
Jedis driver.getConvertPipelineAndTxResults in interface RedisConnectionFactorypublic void setConvertPipelineAndTxResults(boolean convertPipelineAndTxResults)
JedisConnection.closePipeline() and JedisConnection.exec() will be of the type returned by the
Jedis driver.convertPipelineAndTxResults - Whether or not to convert pipeline and tx results.public boolean isRedisSentinelAware()
RedisSentinelConfiguration is present.public boolean isRedisClusterAware()
RedisClusterConfiguration is present.public RedisSentinelConnection getSentinelConnection()
RedisConnectionFactorygetSentinelConnection in interface RedisConnectionFactoryCopyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.