How to use Redisson with Apollo configuration?

To use Apollo configuration in Redisson, you need to follow the steps below:

  1. Add Maven dependencies:
<dependencies>
    <dependency>
        <groupId>org.redisson</groupId>
        <artifactId>redisson</artifactId>
        <version>3.16.2</version>
    </dependency>
    <dependency>
        <groupId>com.ctrip.framework.apollo</groupId>
        <artifactId>apollo-client</artifactId>
        <version>1.7.0</version>
    </dependency>
</dependencies>
  1. Create an Apollo configuration class.
import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;

public class ApolloConfig {
    private static final String REDIS_HOST_KEY = "redis.host";
    private static final String REDIS_PORT_KEY = "redis.port";
    
    private static final String DEFAULT_REDIS_HOST = "localhost";
    private static final int DEFAULT_REDIS_PORT = 6379;
    
    private static Config config = ConfigService.getAppConfig();
    
    public static String getRedisHost() {
        return config.getProperty(REDIS_HOST_KEY, DEFAULT_REDIS_HOST);
    }
    
    public static int getRedisPort() {
        return config.getIntProperty(REDIS_PORT_KEY, DEFAULT_REDIS_PORT);
    }
}
  1. Configure Redisson with Apollo for initialization.
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;

public class RedissonConfig {
    public static RedissonClient getRedissonClient() {
        Config config = new Config();
        config.useSingleServer()
                .setAddress("redis://" + ApolloConfig.getRedisHost() + ":" + ApolloConfig.getRedisPort());
        
        return Redisson.create(config);
    }
}
  1. Utilizing Redisson in the application:
import org.redisson.api.RedissonClient;

public class MyApplication {
    private static RedissonClient redissonClient;
    
    public static void main(String[] args) {
        // 初始化Redisson
        redissonClient = RedissonConfig.getRedissonClient();
        
        // 使用Redisson
        // ...
        
        // 关闭Redisson
        redissonClient.shutdown();
    }
}

By following the above steps, you can now use Apollo configuration in Redisson.

bannerAds