Cache once

If we look back at our quote manager application, we have the following layers through which a request goes:

  • Servlet
  • JAX-RS
  • Service layer (@Transactional)
  • JPA

You can add some caching (such as JCache, not HTTP, which is more a client data management solution) to all the layers. On the Servlet side, you can cache the responses using the requests as key. In JAX-RS, you can do the same, but in a more business-oriented manner. In the service layer, you can use CDI JCache integration. And in JPA, you can use level 2 caching, which can be implemented with JCache or a provider-specific implementation—this generally just requires configuration to be set up so that the API is not very crucial.

However, if you configure the caching on ...

Get Java EE 8 High Performance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.