У меня есть слои DAO с использованием дорогостоящего метода:
@Component
@CacheConfig(cacheNames = {"userStories"})
public class UserStoryDaoImpl implements IUserStoryDao {
@Override
@Cacheable
public List<UserStory> getUserStoriesForProjectAndRelease(UserDto userDto, Set<Integer>
reportProjectId, int releaseId) {
//Slow performing business logic that returns a list
return new ArrayList();
}
и другого как
@Component
@CacheConfig(cacheNames = {"features"})
public class FeatureDaoImpl implements IFeatureDao {
@Override
@Cacheable
public List<Features> geFeaturesForProjectAndRelease(UserDto userDto, Set<Integer> reportProjectId,
int releaseId) {
//Slow performing business logic that returns a list
return new ArrayList();
}
}
, а мой класс конфигурации кэша как:
@Configuration
public class CaffeineCacheConfig {
@Bean
public CacheManager cacheManager() {
CaffeineCacheManager cacheManager = new CaffeineCacheManager("features", "userStories");
cacheManager.setCaffeine(caffeineCacheBuilder());
return cacheManager;
}
Caffeine< Object, Object > caffeineCacheBuilder() {
return Caffeine.newBuilder()
.initialCapacity(100)
.maximumSize(500)
.expireAfterAccess(5, TimeUnit.MINUTES)
.refreshAfterWrite(2, TimeUnit.MINUTES)
.weakKeys()
.recordStats();
}
}
Я использую весеннюю загрузку :: 2.2.6.RELEASE, и мой pom включает:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.8.2</version>
</dependency>
Я что-то упустил в этом? Я хочу сохранить кэш "features" и "userStories" и обновлять его асинхронно после выполнения вызова метода DAO.
Я получаю следующую ошибку:
Невозможно загрузить класс конфигурации: com .packageName.CaffeineCacheConfig
Вызывается: java .lang.NoClassDefFoundError: com / github / benmanes / caffeine / cache / Caffeine
Вызывается: java .lang.ClassNotFoundException com: .github.benmanes.caffeine.cache.Caffeine
Я обнаружил следующие сообщения, связанные с похожей проблемой: Кофеин Git -1 и Кофеин Git -Связанный