@@ -11,7 +11,7 @@ public final class DefaultJedisClientConfig implements JedisClientConfig {
11
11
private final int socketTimeoutMillis ;
12
12
private final int blockingSocketTimeoutMillis ;
13
13
14
- private volatile Supplier <RedisCredentials > credentials ;
14
+ private volatile Supplier <RedisCredentials > credentialsProvider ;
15
15
private final int database ;
16
16
private final String clientName ;
17
17
@@ -23,13 +23,13 @@ public final class DefaultJedisClientConfig implements JedisClientConfig {
23
23
private final HostAndPortMapper hostAndPortMapper ;
24
24
25
25
private DefaultJedisClientConfig (int connectionTimeoutMillis , int soTimeoutMillis ,
26
- int blockingSocketTimeoutMillis , Supplier <RedisCredentials > credentials , int database , String clientName ,
27
- boolean ssl , SSLSocketFactory sslSocketFactory , SSLParameters sslParameters ,
26
+ int blockingSocketTimeoutMillis , Supplier <RedisCredentials > credentialsProvider , int database ,
27
+ String clientName , boolean ssl , SSLSocketFactory sslSocketFactory , SSLParameters sslParameters ,
28
28
HostnameVerifier hostnameVerifier , HostAndPortMapper hostAndPortMapper ) {
29
29
this .connectionTimeoutMillis = connectionTimeoutMillis ;
30
30
this .socketTimeoutMillis = soTimeoutMillis ;
31
31
this .blockingSocketTimeoutMillis = blockingSocketTimeoutMillis ;
32
- this .credentials = credentials ;
32
+ this .credentialsProvider = credentialsProvider ;
33
33
this .database = database ;
34
34
this .clientName = clientName ;
35
35
this .ssl = ssl ;
@@ -55,25 +55,28 @@ public int getBlockingSocketTimeoutMillis() {
55
55
}
56
56
57
57
@ Override
58
+ @ Deprecated
58
59
public String getUser () {
59
- return credentials .get ().getUser ();
60
+ return credentialsProvider .get ().getUser ();
60
61
}
61
62
62
63
@ Override
64
+ @ Deprecated
63
65
public String getPassword () {
64
- return new String (credentials .get ().getPassword ());
66
+ char [] password = credentialsProvider .get ().getPassword ();
67
+ return password == null ? null : new String (credentialsProvider .get ().getPassword ());
65
68
}
66
69
67
70
@ Override
68
71
public Supplier <RedisCredentials > getCredentialsProvider () {
69
- return credentials ;
72
+ return credentialsProvider ;
70
73
}
71
74
72
75
@ Override
73
76
@ Deprecated
74
77
public synchronized void updatePassword (String password ) {
75
78
String user = getUser ();
76
- ((DefaultRedisCredentialsProvider ) this .credentials )
79
+ ((DefaultRedisCredentialsProvider ) this .credentialsProvider )
77
80
.setCredentials (new DefaultRedisCredentials (user , password ));
78
81
}
79
82
@@ -124,7 +127,7 @@ public static class Builder {
124
127
125
128
private String user = null ;
126
129
private String password = null ;
127
- private Supplier <RedisCredentials > credentials ;
130
+ private Supplier <RedisCredentials > credentialsProvider ;
128
131
private int database = Protocol .DEFAULT_DATABASE ;
129
132
private String clientName = null ;
130
133
@@ -139,9 +142,13 @@ private Builder() {
139
142
}
140
143
141
144
public DefaultJedisClientConfig build () {
145
+ if (credentialsProvider == null ) {
146
+ credentialsProvider = new DefaultRedisCredentialsProvider (new DefaultRedisCredentials (user , password ));
147
+ }
148
+
142
149
return new DefaultJedisClientConfig (connectionTimeoutMillis , socketTimeoutMillis ,
143
- blockingSocketTimeoutMillis , credentials , database , clientName , ssl , sslSocketFactory ,
144
- sslParameters , hostnameVerifier , hostAndPortMapper );
150
+ blockingSocketTimeoutMillis , credentialsProvider , database , clientName , ssl ,
151
+ sslSocketFactory , sslParameters , hostnameVerifier , hostAndPortMapper );
145
152
}
146
153
147
154
public Builder timeoutMillis (int timeoutMillis ) {
@@ -184,12 +191,12 @@ public Builder password(String password) {
184
191
}
185
192
186
193
public Builder credentials (RedisCredentials credentials ) {
187
- this .credentials = new DefaultRedisCredentialsProvider (credentials );
194
+ this .credentialsProvider = new DefaultRedisCredentialsProvider (credentials );
188
195
return this ;
189
196
}
190
197
191
198
public Builder credentialsProvider (Supplier <RedisCredentials > credentials ) {
192
- this .credentials = credentials ;
199
+ this .credentialsProvider = credentials ;
193
200
return this ;
194
201
}
195
202
@@ -229,6 +236,7 @@ public Builder hostAndPortMapper(HostAndPortMapper hostAndPortMapper) {
229
236
}
230
237
}
231
238
239
+ @ Deprecated
232
240
public static DefaultJedisClientConfig create (int connectionTimeoutMillis , int soTimeoutMillis ,
233
241
int blockingSocketTimeoutMillis , String user , String password , int database , String clientName ,
234
242
boolean ssl , SSLSocketFactory sslSocketFactory , SSLParameters sslParameters ,
@@ -239,11 +247,13 @@ public static DefaultJedisClientConfig create(int connectionTimeoutMillis, int s
239
247
}
240
248
241
249
public static DefaultJedisClientConfig copyConfig (JedisClientConfig copy ) {
250
+ Supplier <RedisCredentials > credentialsProvider = copy .getCredentialsProvider ();
251
+ if (credentialsProvider == null ) {
252
+ credentialsProvider = new DefaultRedisCredentialsProvider (new DefaultRedisCredentials (copy .getUser (), copy .getPassword ()));
253
+ }
242
254
return new DefaultJedisClientConfig (copy .getConnectionTimeoutMillis (),
243
255
copy .getSocketTimeoutMillis (), copy .getBlockingSocketTimeoutMillis (),
244
- new DefaultRedisCredentialsProvider (
245
- new DefaultRedisCredentials (copy .getUser (), copy .getPassword ())),
246
- copy .getDatabase (), copy .getClientName (), copy .isSsl (),
256
+ credentialsProvider , copy .getDatabase (), copy .getClientName (), copy .isSsl (),
247
257
copy .getSslSocketFactory (), copy .getSslParameters (),
248
258
copy .getHostnameVerifier (), copy .getHostAndPortMapper ());
249
259
}
0 commit comments