diff --git a/multiplecachemanager/pom.xml b/multiplecachemanager/pom.xml
deleted file mode 100644
index 22daf6e87d..0000000000
--- a/multiplecachemanager/pom.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.2.6.RELEASE
-
-
- com.baeldung
- multiplecachemanager
- 0.0.1-SNAPSHOT
- multiplecachemanager
- sample project for configuring multiple cache managers
-
-
- 1.8
-
-
-
-
- org.springframework.boot
- spring-boot-starter-jdbc
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- com.h2database
- h2
- runtime
-
-
-
- org.springframework.boot
- spring-boot-starter-cache
-
-
-
- com.github.ben-manes.caffeine
- caffeine
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
- org.junit.vintage
- junit-vintage-engine
-
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/MultiplecachemanagerApplication.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/MultiplecachemanagerApplication.java
deleted file mode 100644
index 4c7efc98bd..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/MultiplecachemanagerApplication.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.baeldung.multiplecachemanager;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.annotation.CachingConfigurerSupport;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.cache.caffeine.CaffeineCacheManager;
-import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
-import org.springframework.cache.interceptor.CacheResolver;
-import org.springframework.context.annotation.Bean;
-
-import com.baeldung.multiplecachemanager.config.MultipleCacheResolver;
-import com.github.benmanes.caffeine.cache.Caffeine;
-
-@SpringBootApplication
-@EnableCaching
-public class MultiplecachemanagerApplication extends CachingConfigurerSupport {
-
- public static void main(String[] args) {
- SpringApplication.run(MultiplecachemanagerApplication.class, args);
- }
-
- @Bean
- // @Primary
- public CacheManager cacheManager() {
- CaffeineCacheManager cacheManager = new CaffeineCacheManager("customers", "orders");
- cacheManager.setCaffeine(Caffeine.newBuilder()
- .initialCapacity(200)
- .maximumSize(500)
- .weakKeys()
- .recordStats());
- return cacheManager;
- }
-
- @Bean
- public CacheManager alternateCacheManager() {
- return new ConcurrentMapCacheManager("customerOrders", "orderprice");
- }
-
- @Bean
- public CacheResolver cacheResolver() {
- return new MultipleCacheResolver(alternateCacheManager(), cacheManager());
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/bo/CustomerDetailBO.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/bo/CustomerDetailBO.java
deleted file mode 100644
index 3da4c23e28..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/bo/CustomerDetailBO.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.baeldung.multiplecachemanager.bo;
-
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Component;
-
-import com.baeldung.multiplecachemanager.entity.Customer;
-import com.baeldung.multiplecachemanager.entity.Order;
-import com.baeldung.multiplecachemanager.repository.CustomerDetailRepository;
-
-@Component
-public class CustomerDetailBO {
-
- @Autowired
- private CustomerDetailRepository customerDetailRepository;
-
- @Cacheable(cacheNames = "customers")
- public Customer getCustomerDetail(Integer customerId) {
- return customerDetailRepository.getCustomerDetail(customerId);
- }
-
- @Cacheable(cacheNames = "customerOrders", cacheManager = "alternateCacheManager")
- public List getCustomerOrders(Integer customerId) {
- return customerDetailRepository.getCustomerOrders(customerId);
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/bo/OrderDetailBO.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/bo/OrderDetailBO.java
deleted file mode 100644
index cb9e301fcb..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/bo/OrderDetailBO.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.baeldung.multiplecachemanager.bo;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Component;
-
-import com.baeldung.multiplecachemanager.entity.Order;
-import com.baeldung.multiplecachemanager.repository.OrderDetailRepository;
-
-@Component
-public class OrderDetailBO {
-
- @Autowired
- private OrderDetailRepository orderDetailRepository;
-
- @Cacheable(cacheNames = "orders", cacheResolver = "cacheResolver")
- public Order getOrderDetail(Integer orderId) {
- return orderDetailRepository.getOrderDetail(orderId);
- }
-
- @Cacheable(cacheNames = "orderprice", cacheResolver = "cacheResolver")
- public double getOrderPrice(Integer orderId) {
- return orderDetailRepository.getOrderPrice(orderId);
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/config/MultipleCacheResolver.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/config/MultipleCacheResolver.java
deleted file mode 100644
index 1bd869d98e..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/config/MultipleCacheResolver.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.baeldung.multiplecachemanager.config;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.springframework.cache.Cache;
-import org.springframework.cache.CacheManager;
-import org.springframework.cache.interceptor.CacheOperationInvocationContext;
-import org.springframework.cache.interceptor.CacheResolver;
-
-public class MultipleCacheResolver implements CacheResolver {
-
- private final CacheManager simpleCacheManager;
-
- private final CacheManager caffeineCacheManager;
-
- private static final String ORDER_CACHE = "orders";
-
- private static final String ORDER_PRICE_CACHE = "orderprice";
-
- public MultipleCacheResolver(CacheManager simpleCacheManager, CacheManager caffeineCacheManager) {
- this.simpleCacheManager = simpleCacheManager;
- this.caffeineCacheManager = caffeineCacheManager;
-
- }
-
- @Override
- public Collection extends Cache> resolveCaches(CacheOperationInvocationContext> context) {
- Collection caches = new ArrayList();
- if ("getOrderDetail".equals(context.getMethod()
- .getName())) {
- caches.add(caffeineCacheManager.getCache(ORDER_CACHE));
- } else {
- caches.add(simpleCacheManager.getCache(ORDER_PRICE_CACHE));
- }
- return caches;
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/controller/MultipleCacheManagerController.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/controller/MultipleCacheManagerController.java
deleted file mode 100644
index 17a73bb27a..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/controller/MultipleCacheManagerController.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.baeldung.multiplecachemanager.controller;
-
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.baeldung.multiplecachemanager.bo.CustomerDetailBO;
-import com.baeldung.multiplecachemanager.bo.OrderDetailBO;
-import com.baeldung.multiplecachemanager.entity.Customer;
-import com.baeldung.multiplecachemanager.entity.Order;
-
-@RestController
-public class MultipleCacheManagerController {
-
- @Autowired
- private CustomerDetailBO customerDetailBO;
-
- @Autowired
- private OrderDetailBO orderDetailBO;
-
- @GetMapping(value = "/getCustomer/{customerid}")
- public Customer getCustomer(@PathVariable Integer customerid) {
- return customerDetailBO.getCustomerDetail(customerid);
- }
-
- @GetMapping(value = "/getCustomerOrders/{customerid}")
- public List getCustomerOrders(@PathVariable Integer customerid) {
- return customerDetailBO.getCustomerOrders(customerid);
- }
-
- @GetMapping(value = "/getOrder/{orderid}")
- public Order getOrder(@PathVariable Integer orderid) {
- return orderDetailBO.getOrderDetail(orderid);
- }
-
- @GetMapping(value = "/getOrderPrice/{orderid}")
- public double getOrderPrice(@PathVariable Integer orderid) {
- return orderDetailBO.getOrderPrice(orderid);
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Customer.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Customer.java
deleted file mode 100644
index cfae15f4e9..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Customer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.baeldung.multiplecachemanager.entity;
-
-public class Customer {
-
- private int customerId;
-
- private String customerName;
-
- public int getCustomerId() {
- return customerId;
- }
-
- public void setCustomerId(int customerId) {
- this.customerId = customerId;
- }
-
- public String getCustomerName() {
- return customerName;
- }
-
- public void setCustomerName(String customerName) {
- this.customerName = customerName;
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Item.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Item.java
deleted file mode 100644
index 4131464981..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Item.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.baeldung.multiplecachemanager.entity;
-
-public class Item {
-
- private int itemId;
-
- private String itemDesc;
-
- private double itemPrice;
-
- public int getItemId() {
- return itemId;
- }
-
- public void setItemId(int itemId) {
- this.itemId = itemId;
- }
-
- public String getItemDesc() {
- return itemDesc;
- }
-
- public void setItemDesc(String itemDesc) {
- this.itemDesc = itemDesc;
- }
-
- public double getItemPrice() {
- return itemPrice;
- }
-
- public void setItemPrice(double itemPrice) {
- this.itemPrice = itemPrice;
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Order.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Order.java
deleted file mode 100644
index 15da60d6ea..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/entity/Order.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.baeldung.multiplecachemanager.entity;
-
-public class Order {
-
- private int orderId;
-
- private int itemId;
-
- private int quantity;
-
- private int customerId;
-
- public int getOrderId() {
- return orderId;
- }
-
- public void setOrderId(int orderId) {
- this.orderId = orderId;
- }
-
- public int getItemId() {
- return itemId;
- }
-
- public void setItemId(int itemId) {
- this.itemId = itemId;
- }
-
- public int getQuantity() {
- return quantity;
- }
-
- public void setQuantity(int quantity) {
- this.quantity = quantity;
- }
-
- public int getCustomerId() {
- return customerId;
- }
-
- public void setCustomerId(int customerId) {
- this.customerId = customerId;
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/repository/CustomerDetailRepository.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/repository/CustomerDetailRepository.java
deleted file mode 100644
index aab011427d..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/repository/CustomerDetailRepository.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.baeldung.multiplecachemanager.repository;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowCallbackHandler;
-import org.springframework.stereotype.Repository;
-
-import com.baeldung.multiplecachemanager.entity.Customer;
-import com.baeldung.multiplecachemanager.entity.Order;
-
-@Repository
-public class CustomerDetailRepository {
-
- @Autowired
- private JdbcTemplate jdbcTemplate;
-
- public Customer getCustomerDetail(Integer customerId) {
- String customerQuery = "select * from customer where customerid = ? ";
- Customer customer = new Customer();
- jdbcTemplate.query(customerQuery, new Object[] { customerId }, new RowCallbackHandler() {
- public void processRow(ResultSet rs) throws SQLException {
- customer.setCustomerId(rs.getInt("customerid"));
- customer.setCustomerName(rs.getString("customername"));
- }
- });
- return customer;
- }
-
- public List getCustomerOrders(Integer customerId) {
- String customerOrderQuery = "select * from orderdetail where customerid = ? ";
- List orders = new ArrayList();
- jdbcTemplate.query(customerOrderQuery, new Object[] { customerId }, new RowCallbackHandler() {
- public void processRow(ResultSet rs) throws SQLException {
- Order order = new Order();
- order.setCustomerId(rs.getInt("customerid"));
- order.setItemId(rs.getInt("orderid"));
- order.setOrderId(rs.getInt("orderid"));
- order.setQuantity(rs.getInt("quantity"));
- orders.add(order);
- }
- });
- return orders;
- }
-}
diff --git a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/repository/OrderDetailRepository.java b/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/repository/OrderDetailRepository.java
deleted file mode 100644
index 58c0968e48..0000000000
--- a/multiplecachemanager/src/main/java/com/baeldung/multiplecachemanager/repository/OrderDetailRepository.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.baeldung.multiplecachemanager.repository;
-
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.RowCallbackHandler;
-import org.springframework.stereotype.Repository;
-
-import com.baeldung.multiplecachemanager.entity.Item;
-import com.baeldung.multiplecachemanager.entity.Order;
-
-@Repository
-public class OrderDetailRepository {
-
- @Autowired
- private JdbcTemplate jdbcTemplate;
-
- public Order getOrderDetail(Integer orderId) {
- String orderDetailQuery = "select * from orderdetail where orderid = ? ";
- Order order = new Order();
- jdbcTemplate.query(orderDetailQuery, new Object[] { orderId }, new RowCallbackHandler() {
- public void processRow(ResultSet rs) throws SQLException {
- order.setCustomerId(rs.getInt("customerid"));
- order.setOrderId(rs.getInt("orderid"));
- order.setItemId(rs.getInt("itemid"));
- order.setQuantity(rs.getInt("quantity"));
- }
- });
- return order;
- }
-
- public double getOrderPrice(Integer orderId) {
-
- String orderItemJoinQuery = "select * from ( select * from orderdetail where orderid = ? ) o left join item on o.itemid = ITEM.itemid";
- Order order = new Order();
- Item item = new Item();
-
- jdbcTemplate.query(orderItemJoinQuery, new Object[] { orderId }, new RowCallbackHandler() {
- public void processRow(ResultSet rs) throws SQLException {
- order.setCustomerId(rs.getInt("customerid"));
- order.setOrderId(rs.getInt("orderid"));
- order.setItemId(rs.getInt("itemid"));
- order.setQuantity(rs.getInt("quantity"));
- item.setItemDesc("itemdesc");
- item.setItemId(rs.getInt("itemid"));
- item.setItemPrice(rs.getDouble("price"));
- }
- });
- return order.getQuantity() * item.getItemPrice();
- }
-}
diff --git a/multiplecachemanager/src/main/resources/application.properties b/multiplecachemanager/src/main/resources/application.properties
deleted file mode 100644
index 53a3ac93b4..0000000000
--- a/multiplecachemanager/src/main/resources/application.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-spring.datasource.url=jdbc:h2:mem:testdb
-spring.datasource.driverClassName=org.h2.Driver
-spring.datasource.username=sa
-spring.datasource.password=
-#spring.h2.console.enabled=false
-
-
-# Enabling H2 Console
-spring.h2.console.enabled=true
-spring.h2.console.path=/h2
diff --git a/multiplecachemanager/src/main/resources/data.sql b/multiplecachemanager/src/main/resources/data.sql
deleted file mode 100644
index e4165ae71f..0000000000
--- a/multiplecachemanager/src/main/resources/data.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-INSERT INTO CUSTOMER VALUES(1001,'BAELDUNG');
-
-INSERT INTO ITEM VALUES(10001,'ITEM1',50.0);
-INSERT INTO ITEM VALUES(10002,'ITEM2',100.0);
-
-INSERT INTO ORDERDETAIL VALUES(300001,1001,10001,2);
-INSERT INTO ORDERDETAIL VALUES(300002,1001,10002,5);
\ No newline at end of file
diff --git a/multiplecachemanager/src/main/resources/schema.sql b/multiplecachemanager/src/main/resources/schema.sql
deleted file mode 100644
index 5862499bc0..0000000000
--- a/multiplecachemanager/src/main/resources/schema.sql
+++ /dev/null
@@ -1,19 +0,0 @@
-CREATE TABLE CUSTOMER(
- CUSTOMERID INT PRIMARY KEY,
- CUSTOMERNAME VARCHAR(250) NOT NULL
-);
-
-CREATE TABLE ITEM(
-ITEMID INT PRIMARY KEY,
-ITEMDESC VARCHAR(250),
-PRICE DOUBLE
-);
-
-CREATE TABLE ORDERDETAIL(
-ORDERID INT PRIMARY KEY,
-CUSTOMERID INT NOT NULL,
-ITEMID INT NOT NULL,
-QUANTITY INT,
-FOREIGN KEY (customerid) references CUSTOMER(customerid),
-FOREIGN KEY (itemid) references ITEM(itemid)
-);
\ No newline at end of file
diff --git a/multiplecachemanager/src/test/java/com/baeldung/multiplecachemanager/MultiplecachemanagerApplicationTests.java b/multiplecachemanager/src/test/java/com/baeldung/multiplecachemanager/MultiplecachemanagerApplicationTests.java
deleted file mode 100644
index adf69309f2..0000000000
--- a/multiplecachemanager/src/test/java/com/baeldung/multiplecachemanager/MultiplecachemanagerApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.baeldung.multiplecachemanager;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class MultiplecachemanagerApplicationTests {
-
- @Test
- void contextLoads() {
- }
-
-}