Возможно, вы захотите взглянуть на jcache .
. Для этого вам необходимо установить его в свой проект Spring Boot
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'javax.cache:cache-api:1.1.0'
// or the maven equivalent if you are using maven
Затем создать * Bean-компонент 1008 * для настройки кэша.
@Bean
public CacheManager cacheManager() {
CachingProvider cachingProvider = Caching.getCachingProvider();
CacheManager cacheManager = cachingProvider.getCacheManager();
// The class arguments is <String, String> because the method to cache accepts a String and returns a String
// just explore this object for the config you need.
MutableConfiguration<String, String> configuration = new MutableConfiguration<>();
String cacheName = "OUTPUT_FOLDER_CACHE";
cacheManager.createCache(cacheName, configuration);
return cacheManager;
}
Когда это настроено, теперь вы можете аннотировать метод для кэширования.
@Cacheable(
cacheNames = { "OUTPUT_FOLDER_CACHE" }, // The same string in config
unless = "#result == null" // Dont' cache null result; or do, if you need it.
)
String getOutputFolder(String dirName) {
// method contents...
}
При правильной настройке: метод вернет кэшируйте значение, если оно существует, или запустите реальный метод, кэшируйте результат и возвращайте результат, если кэшированное значение не существует.