Implementing caching in SAP Cloud SDK application
In this exercise, you will learn how to implement caching in SAP Cloud SDK application. We will use the Mock Server instead of the actual SAP S/4HANA Cloud.
Prerequisites
For the complete execution of current exercise, you must execute the following activities first:
- Execute the following exercises:
- Creating your Pay-As-You-Go Account in SAP BTP
- Run the Mock Server on port 8081
- Complete the exercise Implementing resilience in SAP Cloud SDK application
Steps
Enable caching in the application you created in the Implementing resilience in SAP Cloud SDK application exercise.
Checkout the initial Git branch
javaspring_v3.0_caching
. To do this, open a Terminal and run the following commands, make sure current working directory is /home/user/projects/cloud-sdk-learning-journey.:
Build and run the project
Build the application by running the following commands in the terminal
Open the
Application.java
file. Press F5 to run the application
Start the Mock Server
In the Terminal, run the following commands
Query the Business Partner API of SAP S/4HANA Cloud
Open the requests.http file
Click on Send Request in the requests.http file to submit the GET request for business partners
Verify that the list of business partners are returned from the Mock Server
Stop the Mock Server by pressing Ctrl + C in the Mock Server project terminal
Click on Send Request in the requests.http file to submit the GET request for business partners within 30 seconds
Verify that the list of business partners are returned from the cache, since the Mock Server is not running
Click on Send Request in the requests.http file to submit the GET request for business partners after 30 seconds
Verify that an empty list of business partners is returned due to resilience configuration
Optional: Review code in the following source files
Note
Check out the exercise on SAP Tutorial Navigator on Introducing caching to your application. https://developers.sap.com/tutorials/s4sdk-caching.htmlCode walk-through
File name Comments on code changes GetBusinessPartnersCommand.java Code logic is as follows...
- Determine how long objects need to be cached. In our example, we will cache the objects for 30 seconds
- Declare parameters that need to be stored together with cached data. In our example, we are building the cache without any parameters
pom.xml Code logic is as follows...
- Use the JCache adapter Caffeine, but you can use any implementation you like
- Add the Caffeine dependency to your application
requests.http Provides various HTTP requests that can be submitted to query the Business Partner API commands.txt Provides various commands that can be run on the terminal
Optional: Manually create the project
Create or update the following files in the table below