/
Config.java
34 lines (28 loc) · 1.02 KB
/
Config.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.pchudzik.blog.example.toggablecache.infrastructure;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
@Configuration
public class Config {
@Value("${cache.redis.host}")
private String host;
@Value("${cache.redis.port}")
private int port;
@Bean
public ToggleProvider toggleProvider() {
return new ToggleProvider();
}
@Bean("cacheManager")
public CacheManager cacheManager() {
return new ToggleAwareCacheManager(
toggleProvider(),
RedisCacheManager.create(lettuceConnectionFactory()));
}
@Bean
LettuceConnectionFactory lettuceConnectionFactory() {
return new LettuceConnectionFactory(host, port);
}
}