Add password to SrpConnectionFactory

DATAREDIS-203
This commit is contained in:
Jennifer Hickey
2013-08-16 15:15:33 -07:00
parent f9cdad751c
commit 6290cbad06
3 changed files with 82 additions and 1 deletions

View File

@@ -213,6 +213,15 @@ public class SrpConnection implements RedisConnection {
}
}
public SrpConnection(String host, int port, String password, BlockingQueue<SrpConnection> queue) {
this(host, port, queue);
try {
this.client.auth(password);
} catch(RedisException e) {
throw new RedisConnectionFailureException("Could not connect", e);
}
}
protected DataAccessException convertSrpAccessException(Exception ex) {
return SrpConverters.toDataAccessException(ex);
}

View File

@@ -36,6 +36,7 @@ public class SrpConnectionFactory implements InitializingBean, DisposableBean, R
private int port = 6379;
private BlockingQueue<SrpConnection> trackedConnections = new ArrayBlockingQueue<SrpConnection>(50);
private boolean convertPipelineAndTxResults = true;
private String password;
/**
@@ -72,7 +73,8 @@ public class SrpConnectionFactory implements InitializingBean, DisposableBean, R
}
public RedisConnection getConnection() {
SrpConnection connection = new SrpConnection(hostName, port, trackedConnections);
SrpConnection connection = password != null ? new SrpConnection(hostName, port, password, trackedConnections) :
new SrpConnection(hostName, port, trackedConnections);
connection.setConvertPipelineAndTxResults(convertPipelineAndTxResults);
return connection;
}
@@ -117,6 +119,24 @@ public class SrpConnectionFactory implements InitializingBean, DisposableBean, R
this.port = port;
}
/**
* Returns the password used for authenticating with the Redis server.
*
* @return password for authentication
*/
public String getPassword() {
return password;
}
/**
* Sets the password used for authenticating with the Redis server.
*
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
/**
* Specifies if pipelined results should be converted to the expected data
* type. If false, results of {@link SrpConnection#closePipeline()} and {@link SrpConnection#exec()}