Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,12 @@
<version>${resilience4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>2.0.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.github.resilience4j</groupId>
<artifactId>resilience4j-circuitbreaker</artifactId>
Expand Down Expand Up @@ -391,7 +397,7 @@
</goals>
<configuration>
<argLine>@{failsafeSuffixArgLine} ${JVM_OPTS}</argLine>

<includes>
<include>**/*IntegrationTest.java</include>
<include>**/*IntegrationTests.java</include>
Expand Down Expand Up @@ -494,6 +500,7 @@
<include>**/Health*.java</include>
<include>src/main/java/redis/clients/jedis/MultiClusterClientConfig.java</include>
<include>src/main/java/redis/clients/jedis/HostAndPort.java</include>
<include>src/main/java/redis/clients/jedis/util/ReadOnlyCommands.java</include>
</includes>
</configuration>
<executions>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/redis/clients/jedis/JedisClientConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import javax.net.ssl.SSLSocketFactory;

import redis.clients.jedis.authentication.AuthXManager;
import redis.clients.jedis.util.ReadOnlyCommands;

public interface JedisClientConfig {

default RedisProtocol getRedisProtocol() {
return null;
}
Expand Down
16 changes: 16 additions & 0 deletions src/main/java/redis/clients/jedis/JedisSentineled.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import redis.clients.jedis.csc.CacheConfig;
import redis.clients.jedis.csc.CacheFactory;
import redis.clients.jedis.providers.SentineledConnectionProvider;
import redis.clients.jedis.util.ReadOnlyCommands;

public class JedisSentineled extends UnifiedJedis {

Expand Down Expand Up @@ -37,6 +38,21 @@ public JedisSentineled(String masterName, final JedisClientConfig masterClientCo
masterClientConfig.getRedisProtocol());
}

public JedisSentineled(String masterName, final JedisClientConfig masterClientConfig,
final GenericObjectPoolConfig<Connection> poolConfig,
Set<HostAndPort> sentinels, final JedisClientConfig sentinelClientConfig, ReadFrom readFrom) {
super(new SentineledConnectionProvider(masterName, masterClientConfig, poolConfig, sentinels, sentinelClientConfig, readFrom),
masterClientConfig.getRedisProtocol());
}

public JedisSentineled(String masterName, final JedisClientConfig masterClientConfig,
final GenericObjectPoolConfig<Connection> poolConfig,
Set<HostAndPort> sentinels, final JedisClientConfig sentinelClientConfig, ReadFrom readFrom,
ReadOnlyCommands.ReadOnlyPredicate readOnlyPredicate) {
super(new SentineledConnectionProvider(masterName, masterClientConfig, poolConfig, sentinels, sentinelClientConfig, readFrom, readOnlyPredicate),
masterClientConfig.getRedisProtocol());
}

@Experimental
public JedisSentineled(String masterName, final JedisClientConfig masterClientConfig, Cache clientSideCache,
final GenericObjectPoolConfig<Connection> poolConfig,
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/redis/clients/jedis/ReadFrom.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package redis.clients.jedis;

public enum ReadFrom {
// read from the upstream only.
UPSTREAM,
// read from the replica only.
REPLICA,
// read preferred from the upstream and fall back to a replica if the upstream is not available.
UPSTREAM_PREFERRED,
// read preferred from replica and fall back to upstream if no replica is not available.
REPLICA_PREFERRED
}
Loading