Spring Cache: не работает

114
02 июля 2021, 05:30

Я подключил к проекту кэширование через Spring Cache. Сначала я добавил аннотацию:

@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableAsync
@EnableScheduling
@EnableTransactionManagement
@EnableJpaRepositories(repositoryFactoryBeanClass = MultiSelectJpaRepositoryFactoryBean.class)
@EnableCaching    //Spring Cache
public class Application {

Потом создал бин:

@Bean("authCacheManager")
public CacheManager cacheManager() {
    return new ConcurrentMapCacheManager() {
        @Override
        protected Cache createConcurrentMapCache(String name) {
            return new ConcurrentMapCache(
                    name,
                    CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.DAYS).build().asMap(),
                    false
            );
        }
    };
}

Я задал в бине время жизни кэша (1 день). Далее, я повесил аннотацию над нужным методом:

@Cacheable(value = "ldap", key = "#username")
public Authentication authenticateByLdap(String username, String password, User userDetails) {

Как я понял, при попытке повторно аутентифицироваться с совпадающим параметром username метод должен был вернуть закешированные данные. Но данные приложение по-прежнему входит в метод (это видно по логам).

Подскажите, что не так?

READ ALSO
Java Jackson Views

Java Jackson Views

Все добрый вечер, можно ли использовать BaseViewsReduced для фильтрации и BaseViews

110
MyClass.class.getField() возвращает лишние поля

MyClass.class.getField() возвращает лишние поля

Есть приложение, в котором при помощи рефлексии получаются поля классов, но есть небольшая проблема, на разных устройствах срабатывает он по разном,...

86
Особые требования для калькулятора на Java [закрыт]

Особые требования для калькулятора на Java [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме

276
Помочь разобрать с Конструктором

Помочь разобрать с Конструктором

Как можно вызвать нужный конструктор у класса Sender, когда мы не знаем какой именно передаем Device через цикл?

122