Java源码示例:org.springframework.data.redis.connection.RedisSentinelConnection

示例1
/**
 * redis 得到所有的master and slave 信息
 */
@Test
public void testGetAllMasterAndSlave() {

    RedisSentinelConnection conn = stringRedisTemplate.getConnectionFactory().getSentinelConnection();

    for (RedisServer master : conn.masters()) {
        System.out.println("master => " + master);// 打印master信息
        Collection<RedisServer> slaves = conn.slaves(master);
        // 打印该master下的所有slave信息
        for (RedisServer slave : slaves) {
            System.out.println("slaves of " + master + " => " + slave);
        }
        System.out.println("--------------");
    }
}
 
示例2
@Override
public RedisSentinelConnection getSentinelConnection() {
    if (!redisson.getConfig().isSentinelConfig()) {
        throw new InvalidDataAccessResourceUsageException("Redisson is not in Sentinel mode");
    }
    
    SentinelConnectionManager manager = ((SentinelConnectionManager)((Redisson)redisson).getConnectionManager());
    for (RedisClient client : manager.getSentinels()) {
        org.redisson.client.RedisConnection connection = client.connect();
        try {
            String res = connection.sync(RedisCommands.PING);
            if ("pong".equalsIgnoreCase(res)) {
                return new RedissonSentinelConnection(connection);
            }
        } catch (Exception e) {
            log.warn("Can't connect to " + client, e);
            connection.closeAsync();
        }
    }
    
    throw new InvalidDataAccessResourceUsageException("Sentinels are not found");
}
 
示例3
@Override
public RedisSentinelConnection getSentinelConnection() {
    if (!redisson.getConfig().isSentinelConfig()) {
        throw new InvalidDataAccessResourceUsageException("Redisson is not in Sentinel mode");
    }
    
    SentinelConnectionManager manager = ((SentinelConnectionManager)((Redisson)redisson).getConnectionManager());
    for (RedisClient client : manager.getSentinels()) {
        org.redisson.client.RedisConnection connection = client.connect();
        try {
            String res = connection.sync(RedisCommands.PING);
            if ("pong".equalsIgnoreCase(res)) {
                return new RedissonSentinelConnection(connection);
            }
        } catch (Exception e) {
            log.warn("Can't connect to " + client, e);
            connection.closeAsync();
        }
    }
    
    throw new InvalidDataAccessResourceUsageException("Sentinels are not found");
}
 
示例4
@Override
public RedisSentinelConnection getSentinelConnection() {
    if (!redisson.getConfig().isSentinelConfig()) {
        throw new InvalidDataAccessResourceUsageException("Redisson is not in Sentinel mode");
    }
    
    SentinelConnectionManager manager = ((SentinelConnectionManager)((Redisson)redisson).getConnectionManager());
    for (RedisClient client : manager.getSentinels()) {
        org.redisson.client.RedisConnection connection = client.connect();
        try {
            String res = connection.sync(RedisCommands.PING);
            if ("pong".equalsIgnoreCase(res)) {
                return new RedissonSentinelConnection(connection);
            }
        } catch (Exception e) {
            log.warn("Can't connect to " + client, e);
            connection.closeAsync();
        }
    }
    
    throw new InvalidDataAccessResourceUsageException("Sentinels are not found");
}
 
示例5
@Override
public RedisSentinelConnection getSentinelConnection() {
    if (!redisson.getConfig().isSentinelConfig()) {
        throw new InvalidDataAccessResourceUsageException("Redisson is not in Sentinel mode");
    }
    
    SentinelConnectionManager manager = ((SentinelConnectionManager)((Redisson)redisson).getConnectionManager());
    for (RedisClient client : manager.getSentinels()) {
        org.redisson.client.RedisConnection connection = client.connect();
        try {
            String res = connection.sync(RedisCommands.PING);
            if ("pong".equalsIgnoreCase(res)) {
                return new RedissonSentinelConnection(connection);
            }
        } catch (Exception e) {
            log.warn("Can't connect to " + client, e);
            connection.closeAsync();
        }
    }
    
    throw new InvalidDataAccessResourceUsageException("Sentinels are not found");
}
 
示例6
@Override
public RedisSentinelConnection getSentinelConnection() {
    if (!redisson.getConfig().isSentinelConfig()) {
        throw new InvalidDataAccessResourceUsageException("Redisson is not in Sentinel mode");
    }
    
    SentinelConnectionManager manager = ((SentinelConnectionManager)((Redisson)redisson).getConnectionManager());
    for (RedisClient client : manager.getSentinels()) {
        org.redisson.client.RedisConnection connection = client.connect();
        try {
            String res = connection.sync(RedisCommands.PING);
            if ("pong".equalsIgnoreCase(res)) {
                return new RedissonSentinelConnection(connection);
            }
        } catch (Exception e) {
            log.warn("Can't connect to " + client, e);
            connection.closeAsync();
        }
    }
    
    throw new InvalidDataAccessResourceUsageException("Sentinels are not found");
}
 
示例7
@Override
public RedisSentinelConnection getSentinelConnection() {
    System.out.println("getSentinelConnection");
    return redisConnectionFactory.getSentinelConnection();
}
 
示例8
public TracingRedisSentinelConnection(RedisSentinelConnection redisSentinelConnection,
    TracingConfiguration configuration) {
  this.redisSentinelConnection = redisSentinelConnection;
  this.helper = new TracingHelper(configuration);
}
 
示例9
@Override
public RedisSentinelConnection getSentinelConnection() {
  return new TracingRedisSentinelConnection(connection.getSentinelConnection(),
      tracingConfiguration);
}
 
示例10
@Override
public RedisSentinelConnection getSentinelConnection() {
  return new TracingRedisSentinelConnection(delegate.getSentinelConnection(),
      tracingConfiguration);
}
 
示例11
@Test
public void delegatesCallToGetSentinelConnection() {
  RedisSentinelConnection connection = connectionFactory.getSentinelConnection();
  verify(delegate).getSentinelConnection();
  assertTrue(connection instanceof TracingRedisSentinelConnection);
}
 
示例12
public TracingRedisSentinelConnection(RedisSentinelConnection redisSentinelConnection,
    TracingConfiguration configuration) {
  this.redisSentinelConnection = redisSentinelConnection;
  this.helper = new TracingHelper(configuration);
}
 
示例13
@Override
public RedisSentinelConnection getSentinelConnection() {
  return new TracingRedisSentinelConnection(connection.getSentinelConnection(),
      tracingConfiguration);
}
 
示例14
@Override
public RedisSentinelConnection getSentinelConnection() {
  return new TracingRedisSentinelConnection(delegate.getSentinelConnection(),
      tracingConfiguration);
}
 
示例15
@Test
public void delegatesCallToGetSentinelConnection() {
  RedisSentinelConnection connection = connectionFactory.getSentinelConnection();
  verify(delegate).getSentinelConnection();
  assertTrue(connection instanceof TracingRedisSentinelConnection);
}