All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.zeebe.redis.exporter.UniversalRedisClient Maven / Gradle / Ivy

package io.zeebe.redis.exporter;

import io.lettuce.core.RedisClient;
import io.lettuce.core.cluster.RedisClusterClient;

public class UniversalRedisClient {

  private RedisClient redisClient = null;
  private RedisClusterClient redisClusterClient = null;

  public UniversalRedisClient(RedisClient redisClient) {
    this.redisClient = redisClient;
  }

  public UniversalRedisClient(RedisClusterClient redisClient) {
    this.redisClusterClient = redisClient;
  }

  public UniversalRedisConnection connect(ProtobufCodec protobufCodec) {
    if (redisClient != null)
      return new UniversalRedisConnection<>(redisClient.connect(protobufCodec));
    return new UniversalRedisConnection<>(redisClusterClient.connect(protobufCodec));
  }

  public UniversalRedisConnection connect() {
    if (redisClient != null) return new UniversalRedisConnection<>(redisClient.connect());
    return new UniversalRedisConnection<>(redisClusterClient.connect());
  }

  public void shutdown() {
    if (redisClient != null) {
      redisClient.shutdown();
    } else {
      redisClusterClient.shutdown();
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy