[ https://issues.apache.org/jira/browse/CAUSEWAY-3705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Keir Haywood reassigned CAUSEWAY-3705: --------------------------------------------- Fix Version/s: 2.1.0 (was: 2.2.0) Assignee: Daniel Keir Haywood > [Perf] Introduce a TitleCachingService SPI > ------------------------------------------ > > Key: CAUSEWAY-3705 > URL: https://issues.apache.org/jira/browse/CAUSEWAY-3705 > Project: Causeway > Issue Type: New Feature > Components: Core > Affects Versions: 2.0.0 > Reporter: Daniel Keir Haywood > Assignee: Daniel Keir Haywood > Priority: Major > Fix For: 2.1.0 > > > Calculating titles can cause pages to render much slower than they otherwise > would, because any object with a reference to others (especially in a > collection) requires the title to be evaluated for those references, and this > often will require that entity to be fetched in order to access its > properties that make up its title. In the worst case, that referenced > object's title might use not only scalar properties, but also other > referenced information, so a whole cascade of queries might kick off. > One option to address this is for domain entities to cache their own title as > a persisted property. That works, but is boilerplate and laborious. > This ticket suggests that (unless a domain object opts out), we have an > implementation of TitleFacet that looks up the title from an object's > Bookmark/oid. The cache implementation itself should be an SPI, with an > in-memory as the default that could be enabled ; other alternatives would be > Redis etc. > Whenever an object is modified then the cache is updated. > Refinements: > * The cache might also be time-limited (mru/lru), so that titles age out > after time. > * A background service might go around eagerly populating the cache > > -- This message was sent by Atlassian Jira (v8.20.10#820010)