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, using SAP Business Application Studio:
- Execute the following exercises:
- Creating your free trial account in SAP BTP
- Setting up the mock server, so that you have the Mock server program available in the
cloud-s4-sdk-book
folder.
- Run the following commands in a terminal, in case you didn't do it already in previous exercises, to clone the Git repository for the course:Code SnippetCopy codeSwitch to dark mode12cd ~/projects git clone https://github.com/SAP-samples/cloud-sdk-learning-journey.git
- Choose File → Open Folder and open the
/home/user/projects/cloud-sdk-learning-journey/
folder.
Steps
Enable caching in the application you created in the previous exercise.
Checkout the
javaspring_v3.1_caching
Git branch by running the following commands in the terminal:Code SnippetCopy codeSwitch to dark mode12cd ~/projects/cloud-sdk-learning-journey git checkout -f javaspring_v3.1_caching
Build and run the project.
Build the application by running the following commands in the terminal
Code SnippetCopy codeSwitch to dark mode12cd bpstandardvdm mvn clean install -Dmaven.test.skip=trueRun the application by running the following commands in the terminal
Code SnippetCopy codeSwitch to dark mode12cd application mvn spring-boot:runNote
As an alternative, to run the application, you can open theApplication.java
file. Choose Run → Start Debugging or press F5.
Make sure that the Mock Server is up and running as described in the related previous exercise.
In case the Mock server is installed but not started, you need to open a new terminal window and run the following commands:
Code SnippetCopy codeSwitch to dark mode12cd ~/projects/cloud-s4-sdk-book npm run start
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
Re-start the mock server and re-run the query to make sure it works again.
Stop the running application using Ctrl + C in the corresponding terminal window.
Note
If you are not sure how to stop the mock server, you can run the following command from a new terminal window.Code SnippetCopy codeSwitch to dark mode123lsof -i:8081 kill <node PID>
Optional: code walk-through.
Review code in the following source files:
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 Note
Review the exercise on SAP Tutorial Navigator on Introducing caching to your application. https://developers.sap.com/tutorials/s4sdk-caching.html