Мое приложение работает с таблицей RequestHitory в базе данных Posgres.
Я хочу для кэширования данных из этой таблицы в моем приложении Spring.
Я использую аннотацию @EnableCaching для приложения:
Код: Выделить всё
@SpringBootApplication
@EnableCaching
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Код: Выделить всё
@RequiredArgsConstructor
@AllArgsConstructor
@Entity
@Table(name="requesthistory")
@Data
public class RequestHistory implements Serializable {
@Id
String name;
@Column(name="request_last_date_time")
LocalDateTime requestLastDateTime;
}
Код: Выделить всё
@Repository
public interface RequestHistoryDAORepository extends JpaRepository {
RequestHistory findByName(String name);
}
Код: Выделить всё
@Service
@RequiredArgsConstructor
//@CacheConfig(cacheNames = "requests")
public class RequestHistoryService {
private final CacheManager cacheManager;
private final RequestHistoryDAORepository requestHistoryRepository;
@Cacheable("requests")
public RequestHistory getRequestHistoryByName(String requestName) {
return requestHistoryRepository.findByName(requestName);
}
public Cache getCacheData() {
Cache data = cacheManager.getCache("requests");
return data;
}
}
Я использую код:
Код: Выделить всё
@Service
@RequiredArgsConstructor
public class AllDataLoader {
private final RequestHistoryService requestHistoryService;
public void load() {
requestHistoryService.getCacheData();
RequestHistory requestHistory = requestHistoryService.getRequestHistoryByName(requestName);
requestHistoryService.getCacheData();
}
}
Не могли бы вы помочь мне понять, почему в моем случае не работает кеш данных.
Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-spring
Мобильная версия