Does liferay support caching for custom service layer by default or are we supposed to cache service calls using WebCachePool?If yes,how can we achieve the same and is the same approach need to be followed for external service calls,not generated through Liferay service builder?
When you build a custom entity based on liferay service builder the cache layer is provived by default. You can control it, disable it if you need it or change caching rules.
Without service builder layer, you manually use many cache util classes available from the portal code.
Look at this code to have an example: