Lombok API: This is a very helpful library that allows reducing infrastructural code. If we use Lombok API, we don’t have to write the code for getters, setters, constructor, equals, hash code methods, and even more.
Resilience4j API: It is a library designed for functional programming. One example use case is the rate limiter functionality, to limit number of maximum requests served by an API in a defined time period. Other examples are:
- Concurrency control using bulkhead module
- Fault Tolerant using retry
Hystrix API: Hystrix API can help make a service fault tolerant and resilient.
Javatuples: It’s an API that allows us to work with tuples. A tuple is a sequence of unrelated objects of different types. For example, a tuple may contain an integer, a string, and an object.
Javasist, CGLib, and ASM: These are APIs to manipulate Java byte codes.
P6Spy: It is a library that allows logging of database operations in the realtime.
Java Transaction Management: A transaction is a series of actions that must be completed. Java provides multiple ways to control transactions. Java provides transactions that are based on JDBC, JPA, JMS, Global Transactions, Java Transaction API (JTA), Java Transaction Service (JTS), and other related ways.
References:
- Introduction to Hystrix: https://www.baeldung.com/introduction-to-hystrix
- Javatuples: https://www.javatuples.org/
- Swagger API: https://swagger.io/resources/open-api/