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 . |
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 InitializingBean
protected 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 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 DisposableBean
public RedisConnection getConnection()
RedisConnectionFactory
getConnection
in interface RedisConnectionFactory
public RedisClusterConnection getClusterConnection()
RedisConnectionFactory
getClusterConnection
in interface RedisConnectionFactory
public DataAccessException translateExceptionIfPossible(RuntimeException ex)
translateExceptionIfPossible
in interface PersistenceExceptionTranslator
public 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.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 RedisConnectionFactory
public 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()
RedisConnectionFactory
getSentinelConnection
in interface RedisConnectionFactory
Copyright © 2011–2019 Pivotal Software, Inc.. All rights reserved.