From bb73d0e86a142ddc641a3bc293df4bad8d6d549b Mon Sep 17 00:00:00 2001 From: Graham Cox Date: Fri, 30 Dec 2022 11:13:44 +0000 Subject: [PATCH] BAEL-6036: Enable caching on the TasksService for Lightrun Article (#13221) --- lightrun/tasks-service/pom.xml | 4 ++++ .../tasksservice/SimpleCacheCustomizer.java | 16 ++++++++++++++++ .../tasksservice/TasksServiceApplication.java | 2 ++ .../tasksservice/service/TasksService.java | 2 ++ 4 files changed, 24 insertions(+) create mode 100644 lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/SimpleCacheCustomizer.java diff --git a/lightrun/tasks-service/pom.xml b/lightrun/tasks-service/pom.xml index 2b3b37e51b..c3542b0089 100644 --- a/lightrun/tasks-service/pom.xml +++ b/lightrun/tasks-service/pom.xml @@ -24,6 +24,10 @@ org.springframework.boot spring-boot-starter-artemis + + org.springframework.boot + spring-boot-starter-cache + org.springframework.boot spring-boot-starter-data-jpa diff --git a/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/SimpleCacheCustomizer.java b/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/SimpleCacheCustomizer.java new file mode 100644 index 0000000000..bf8bb6ad6e --- /dev/null +++ b/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/SimpleCacheCustomizer.java @@ -0,0 +1,16 @@ +package com.baeldung.tasksservice; + +import java.util.List; + +import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer; +import org.springframework.cache.concurrent.ConcurrentMapCacheManager; +import org.springframework.stereotype.Component; + +@Component +public class SimpleCacheCustomizer implements CacheManagerCustomizer { + + @Override + public void customize(ConcurrentMapCacheManager cacheManager) { + cacheManager.setCacheNames(List.of("tasks")); + } +} \ No newline at end of file diff --git a/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/TasksServiceApplication.java b/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/TasksServiceApplication.java index dfd9859674..84a8ed7967 100644 --- a/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/TasksServiceApplication.java +++ b/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/TasksServiceApplication.java @@ -2,8 +2,10 @@ package com.baeldung.tasksservice; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cache.annotation.EnableCaching; @SpringBootApplication +@EnableCaching public class TasksServiceApplication { public static void main(String[] args) { diff --git a/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/service/TasksService.java b/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/service/TasksService.java index 3539dbbc3c..107bf56bb9 100644 --- a/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/service/TasksService.java +++ b/lightrun/tasks-service/src/main/java/com/baeldung/tasksservice/service/TasksService.java @@ -19,6 +19,7 @@ import java.util.UUID; import javax.transaction.Transactional; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import com.baeldung.tasksservice.adapters.repository.TaskRecord; @@ -29,6 +30,7 @@ public class TasksService { @Autowired private TasksRepository tasksRepository; + @Cacheable("tasks") public TaskRecord getTaskById(String id) { return tasksRepository.findById(id) .orElseThrow(() -> new UnknownTaskException(id));