In the official documentation for CIL caching for Java, it is stated how to turn on caching and how to point it to a custom config file, but there isn't any additional information on what the actual content of the ehcache.xml
(or the optionally referenced config file) should be.
In contrast, the .NET CIL caching has detailed info on how it should be configured.
Is this level of configuration even possible in the Java implementation of CIL caching and does a reference of the config file exist anywhere?
I am especially interested on how to treat different "item types", ie. CIL-BROKER
CIL-DYNAMIC
CIL-LINKING
and CIL-INTERNAL
in ehcache.
UPDATE: Updated the question according to Velu's answer.
AFAIK - CIL - Java Caching
Uses EHCache
That is my understanding as well. You could use Redis, but the default is ehcache.
Time based caching, NO invalidation
True.
Limited OOTB config
I would assume so based on the thin documentation.
Recommendations
Set max-graph-object-size
Do you have a source for this recommendation?
Also, the remainder of the answer is regarding DXA 2.2, however, we don't have DXA 2.2. but rather a "plain" Java based solution. Most (if not all) of the caches mentioned are DXA specific (page, entity, output, etc.), while the 'queryCache' which is for GraphQL queries isn't even applicable, it doesn't exist in CD 8.5.
CIL itself is not aware of these concepts, It is the DXA app which will create these caches, source: see here, it's explicitly said at ~20:30.
What I am interested in are any of the caches which already exist in the CIL cache implementation itself, like for example broker query results, link resolving results, etc. similar like in the .NET version.
Again the CIL version (and CD) is 8.5.