@Cacheable не создает ключи кеша при вызове из метода с аннотацией @transactional при весенней загрузке - PullRequest
0 голосов
/ 07 февраля 2019

столкнулся со странной проблемой, я аннотировал свой контроллер с помощью @Transactional (только для тестирования), и меня удивило, что внутренне, когда он обращается к методу с аннотацией @cacheable, он не создает никаких ключей кеша

@Transactional
@RequestMapping(value = "/auth", method = RequestMethod.POST)
public void createAuth() {
    ApplicationContextProvider.getApplicationContext().getBean(GeographyServiceHelper.class).getAggregatedClusterData(1);
}

метод с @cacheable проблемой.

@Cacheable(value = "getAllClusterHierarchyHash", key = "\"all_cluster_hirerarchy_map\"", unless = CONDITION_NULL,
        cacheNames = "getAllClusterHierarchyHash")
@CacheEvict(value = "getAllClusterHierarchyHash", key = "\"all_cluster_hirerarchy_map\"",
        condition = "#forceReload", cacheNames = "getAllClusterHierarchyHash", beforeInvocation = true)
public Map<Integer, ClusterDetails> getAllClusterHierarchyHash(Boolean forceReload) {// do something}

Внутренний помощник службы географии напрямую вызывает api-менеджер с помощью forceReload = false.

Я что-то упустил глупо?

1 Ответ

0 голосов
/ 07 февраля 2019

Эй, приятель, просто подожди, пока транзакция получит подтверждение, и ты увидишь то, что хочешь увидеть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...