[ 
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)

Reply via email to