Skip to content
Closed
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
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
Expand Down
10 changes: 9 additions & 1 deletion src/main/java/redis/clients/jedis/BinaryClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,16 +60,22 @@ public BinaryClient(final String host, final int port) {
super(host, port);
}

@Deprecated
public BinaryClient(final String host, final int port, final boolean ssl) {
super(host, port, ssl);
}

@Deprecated
public BinaryClient(final String host, final int port, final boolean ssl,
final SSLSocketFactory sslSocketFactory, final SSLParameters sslParameters,
final HostnameVerifier hostnameVerifier) {
super(host, port, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
}

public BinaryClient(final String host, final int port, final JedisSocketConfig jedisSocketConfig) {
super(host, port, jedisSocketConfig);
}

public BinaryClient(final JedisSocketFactory jedisSocketFactory) {
super(jedisSocketFactory);
}
Expand Down Expand Up @@ -97,7 +103,9 @@ private byte[][] joinParameters(byte[] first, byte[] second, byte[][] rest) {
return result;
}

public void setUser(final String user) { this.user = user; }
public void setUser(final String user) {
this.user = user;
}

public void setPassword(final String password) {
this.password = password;
Expand Down
122 changes: 67 additions & 55 deletions src/main/java/redis/clients/jedis/BinaryJedis.java
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
public class BinaryJedis implements BasicCommands, BinaryJedisCommands, MultiKeyBinaryCommands,
AdvancedBinaryJedisCommands, BinaryScriptingCommands, Closeable {

protected Client client = null;
protected final Client client;
protected Transaction transaction = null;
protected Pipeline pipeline = null;
protected static final byte[][] DUMMY_ARRAY = new byte[0][];
Expand All @@ -55,7 +55,8 @@ public BinaryJedis() {
public BinaryJedis(final String host) {
URI uri = URI.create(host);
if (JedisURIHelper.isValid(uri)) {
initializeClientFromURI(uri);
client = createClientFromURI(uri);
initializeFromURI(uri);
} else {
client = new Client(host);
}
Expand All @@ -65,18 +66,27 @@ public BinaryJedis(final HostAndPort hp) {
this(hp.getHost(), hp.getPort());
}

public BinaryJedis(final HostAndPort hp, final JedisSocketConfig config) {
this(hp.getHost(), hp.getPort(), config);
}

public BinaryJedis(final String host, final int port) {
client = new Client(host, port);
}

public BinaryJedis(final String host, final int port, final JedisSocketConfig config) {
client = new Client(host, port, config);
}

public BinaryJedis(final String host, final int port, final boolean ssl) {
client = new Client(host, port, ssl);
this(host, port, DefaultJedisSocketConfig.builder().withSsl(ssl).build());
}

public BinaryJedis(final String host, final int port, final boolean ssl,
final SSLSocketFactory sslSocketFactory, final SSLParameters sslParameters,
final HostnameVerifier hostnameVerifier) {
client = new Client(host, port, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
this(host, port, DefaultJedisSocketConfig.builder().withSsl(ssl)
.withSslSocketFactory(sslSocketFactory).withSslParameters(sslParameters).withHostnameVerifier(hostnameVerifier).build());
}

public BinaryJedis(final String host, final int port, final int timeout) {
Expand All @@ -95,62 +105,62 @@ public BinaryJedis(final String host, final int port, final int timeout, final b

public BinaryJedis(final String host, final int port, final int connectionTimeout,
final int soTimeout) {
client = new Client(host, port);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(host, port, DefaultJedisSocketConfig.builder()
.withConnectionTimeout(connectionTimeout).withSoTimeout(soTimeout).build());
}

public BinaryJedis(final String host, final int port, final int connectionTimeout,
final int soTimeout, final int infiniteSoTimeout) {
client = new Client(host, port);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(host, port, connectionTimeout, soTimeout);
client.setInfiniteSoTimeout(infiniteSoTimeout);
}

public BinaryJedis(final String host, final int port, final int connectionTimeout,
final int soTimeout, final boolean ssl) {
client = new Client(host, port, ssl);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(host, port, DefaultJedisSocketConfig.builder()
.withConnectionTimeout(connectionTimeout).withSoTimeout(soTimeout).withSsl(ssl).build());
}

public BinaryJedis(final String host, final int port, final int connectionTimeout,
final int soTimeout, final boolean ssl, final SSLSocketFactory sslSocketFactory,
final SSLParameters sslParameters, final HostnameVerifier hostnameVerifier) {
client = new Client(host, port, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(host, port, DefaultJedisSocketConfig.builder()
.withConnectionTimeout(connectionTimeout).withSoTimeout(soTimeout).withSsl(ssl)
.withSslSocketFactory(sslSocketFactory).withSslParameters(sslParameters).withHostnameVerifier(hostnameVerifier).build());
}

public BinaryJedis(final String host, final int port, final int connectionTimeout,
final int soTimeout, final int infiniteSoTimeout, final boolean ssl,
final SSLSocketFactory sslSocketFactory, final SSLParameters sslParameters,
final HostnameVerifier hostnameVerifier) {
client = new Client(host, port, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(host, port, connectionTimeout, soTimeout, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
client.setInfiniteSoTimeout(infiniteSoTimeout);
}

public BinaryJedis(final HostAndPort hostAndPort, final JedisSocketConfig config, final int infiniteSoTimeout) {
this(hostAndPort, config);
client.setInfiniteSoTimeout(infiniteSoTimeout);
}

public BinaryJedis(final JedisShardInfo shardInfo) {
client = new Client(shardInfo.getHost(), shardInfo.getPort(), shardInfo.getSsl(),
shardInfo.getSslSocketFactory(), shardInfo.getSslParameters(),
shardInfo.getHostnameVerifier());
client.setConnectionTimeout(shardInfo.getConnectionTimeout());
client.setSoTimeout(shardInfo.getSoTimeout());
this(shardInfo.getHost(), shardInfo.getPort(), shardInfo.getConnectionTimeout(),
shardInfo.getSoTimeout(), shardInfo.getSsl(), shardInfo.getSslSocketFactory(),
shardInfo.getSslParameters(), shardInfo.getHostnameVerifier());
client.setUser(shardInfo.getUser());
client.setPassword(shardInfo.getPassword());
client.setDb(shardInfo.getDb());
}

public BinaryJedis(URI uri) {
initializeClientFromURI(uri);
client = createClientFromURI(uri);
initializeFromURI(uri);
}

public BinaryJedis(URI uri, final SSLSocketFactory sslSocketFactory,
final SSLParameters sslParameters, final HostnameVerifier hostnameVerifier) {
initializeClientFromURI(uri, sslSocketFactory, sslParameters, hostnameVerifier);
this(uri, DefaultJedisSocketConfig.builder()
.withSslSocketFactory(sslSocketFactory).withSslParameters(sslParameters)
.withHostnameVerifier(hostnameVerifier).build());
}

public BinaryJedis(final URI uri, final int timeout) {
Expand All @@ -163,65 +173,66 @@ public BinaryJedis(final URI uri, final int timeout, final SSLSocketFactory sslS
}

public BinaryJedis(final URI uri, final int connectionTimeout, final int soTimeout) {
initializeClientFromURI(uri);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(uri, DefaultJedisSocketConfig.builder()
.withConnectionTimeout(connectionTimeout).withSoTimeout(soTimeout).build());
}

public BinaryJedis(final URI uri, final int connectionTimeout, final int soTimeout,
final SSLSocketFactory sslSocketFactory,final SSLParameters sslParameters,
final HostnameVerifier hostnameVerifier) {
initializeClientFromURI(uri, sslSocketFactory, sslParameters, hostnameVerifier);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(uri, DefaultJedisSocketConfig.builder()
.withConnectionTimeout(connectionTimeout).withSoTimeout(soTimeout)
.withSslSocketFactory(sslSocketFactory).withSslParameters(sslParameters)
.withHostnameVerifier(hostnameVerifier).build());
}

public BinaryJedis(final URI uri, final int connectionTimeout, final int soTimeout,
final int infiniteSoTimeout, final SSLSocketFactory sslSocketFactory,
final SSLParameters sslParameters, final HostnameVerifier hostnameVerifier) {
initializeClientFromURI(uri, sslSocketFactory, sslParameters, hostnameVerifier);
client.setConnectionTimeout(connectionTimeout);
client.setSoTimeout(soTimeout);
this(uri, connectionTimeout, soTimeout, sslSocketFactory, sslParameters, hostnameVerifier);
client.setInfiniteSoTimeout(infiniteSoTimeout);
}

public BinaryJedis(final JedisSocketFactory jedisSocketFactory) {
client = new Client(jedisSocketFactory);
public BinaryJedis(final URI uri, JedisSocketConfig config) {
if (!JedisURIHelper.isValid(uri)) {
throw new InvalidURIException(String.format("Cannot open Redis connection due invalid URI \"%s\".", uri.toString()));
}
client = new Client(uri.getHost(), uri.getPort(),
DefaultJedisSocketConfig.withSsl(JedisURIHelper.isRedisSSLScheme(uri), config));
initializeFromURI(uri);
}

private void initializeClientFromURI(URI uri) {
initializeClientFromURI(uri, null, null, null);
public BinaryJedis(final JedisSocketFactory jedisSocketFactory) {
client = new Client(jedisSocketFactory);
}

private void initializeClientFromURI(URI uri, final SSLSocketFactory sslSocketFactory,
final SSLParameters sslParameters, final HostnameVerifier hostnameVerifier) {
private static Client createClientFromURI(URI uri) {
if (!JedisURIHelper.isValid(uri)) {
throw new InvalidURIException(String.format(
"Cannot open Redis connection due invalid URI. %s", uri.toString()));
throw new InvalidURIException(String.format("Cannot open Redis connection due invalid URI \"%s\".", uri.toString()));
}
return new Client(uri.getHost(), uri.getPort(),
DefaultJedisSocketConfig.builder().withSsl(JedisURIHelper.isRedisSSLScheme(uri)).build());
}

client = new Client(uri.getHost(), uri.getPort(), JedisURIHelper.isRedisSSLScheme(uri),
sslSocketFactory, sslParameters, hostnameVerifier);

private void initializeFromURI(URI uri) {
String password = JedisURIHelper.getPassword(uri);
if (password != null) {
String user = JedisURIHelper.getUser(uri);
if (user == null) {
client.auth(password);
if (user != null) {
auth(user, password);
} else {
client.auth(user, password);
auth(password);
}
client.getStatusCodeReply();
}

int dbIndex = JedisURIHelper.getDBIndex(uri);
if (dbIndex > 0) {
client.select(dbIndex);
client.getStatusCodeReply();
client.setDb(dbIndex);
select(dbIndex);
}
}

/**
* @return <code>PONG</code>
*/
@Override
public String ping() {
checkIsInMultiOrPipeline();
Expand All @@ -230,7 +241,7 @@ public String ping() {
}

/**
* Works same as <tt>ping()</tt> but returns argument message instead of <tt>PONG</tt>.
* Works same as {@link #ping()} but returns argument message instead of <code>PONG</code>.
* @param message
* @return message
*/
Expand Down Expand Up @@ -1430,6 +1441,7 @@ public Long lpos(final byte[] key, final byte[] element, final LPosParams params
* @see #lpos(byte[], byte[], LPosParams, long)
* @param key
* @param element
* @param params
* @param count
* @return Returns value will be a list containing position of the matching elements inside the list.
*/
Expand Down
16 changes: 13 additions & 3 deletions src/main/java/redis/clients/jedis/BinaryJedisCluster.java
Original file line number Diff line number Diff line change
Expand Up @@ -84,21 +84,23 @@ public BinaryJedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeo
this(jedisClusterNode, connectionTimeout, soTimeout, maxAttempts, user, password, clientName, poolConfig, ssl, null, null, null, null);
}

@Deprecated
public BinaryJedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeout, int soTimeout, int maxAttempts, String password, String clientName, GenericObjectPoolConfig poolConfig,
boolean ssl, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier, JedisClusterHostAndPortMap hostAndPortMap) {
this(jedisClusterNode, connectionTimeout, soTimeout, maxAttempts, null, password, clientName,
poolConfig, ssl, sslSocketFactory, sslParameters, hostnameVerifier, hostAndPortMap);
}

@Deprecated
public BinaryJedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeout, int soTimeout,
int maxAttempts, String user, String password, String clientName, GenericObjectPoolConfig poolConfig,
boolean ssl, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters,
HostnameVerifier hostnameVerifier, JedisClusterHostAndPortMap hostAndPortMap) {
this.connectionHandler = new JedisSlotBasedConnectionHandler(jedisClusterNode, poolConfig,
connectionTimeout, soTimeout, user, password, clientName, ssl, sslSocketFactory, sslParameters, hostnameVerifier, hostAndPortMap);
this.maxAttempts = maxAttempts;
this(jedisClusterNode, connectionTimeout, soTimeout, 0, maxAttempts, user, password, clientName, poolConfig,
ssl, sslSocketFactory, sslParameters, hostnameVerifier, hostAndPortMap);
}

@Deprecated
public BinaryJedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeout, int soTimeout,
int infiniteSoTimeout, int maxAttempts, String user, String password, String clientName, GenericObjectPoolConfig poolConfig,
boolean ssl, SSLSocketFactory sslSocketFactory, SSLParameters sslParameters, HostnameVerifier hostnameVerifier, JedisClusterHostAndPortMap hostAndPortMap) {
Expand All @@ -107,6 +109,14 @@ public BinaryJedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeo
this.maxAttempts = maxAttempts;
}

public BinaryJedisCluster(Set<HostAndPort> jedisClusterNode, JedisSocketConfig socketConfig,
int infiniteSoTimeout, int maxAttempts, String user, String password, String clientName,
GenericObjectPoolConfig poolConfig) {
this.connectionHandler = new JedisSlotBasedConnectionHandler(jedisClusterNode, poolConfig,
socketConfig, infiniteSoTimeout, user, password, clientName);
this.maxAttempts = maxAttempts;
}

@Override
public void close() {
if (connectionHandler != null) {
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/redis/clients/jedis/Client.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,22 @@ public Client(final String host, final int port) {
super(host, port);
}

@Deprecated
public Client(final String host, final int port, final boolean ssl) {
super(host, port, ssl);
}

@Deprecated
public Client(final String host, final int port, final boolean ssl,
final SSLSocketFactory sslSocketFactory, final SSLParameters sslParameters,
final HostnameVerifier hostnameVerifier) {
super(host, port, ssl, sslSocketFactory, sslParameters, hostnameVerifier);
}

public Client(final String host, final int port, final JedisSocketConfig jedisSocketConfig) {
super(host, port, jedisSocketConfig);
}

public Client(final JedisSocketFactory jedisSocketFactory) {
super(jedisSocketFactory);
}
Expand Down
Loading