[ https://issues.apache.org/jira/browse/ISIS-2270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andi Huber updated ISIS-2270: ----------------------------- Component/s: Isis Core > Rethink, who shall manage Lifecycles of DomainObjects, ViewModels and Mixins > ---------------------------------------------------------------------------- > > Key: ISIS-2270 > URL: https://issues.apache.org/jira/browse/ISIS-2270 > Project: Isis > Issue Type: Improvement > Components: Isis Core > Reporter: Daniel Keir Haywood > Assignee: Andi Huber > Priority: Minor > Fix For: 2.0.0-M4 > > > 1) Document and annotate @DomainObject, @ViewModel and @Mixin with > @Scope(SCOPE_PROTOTYPE) > 2) FactoryService#instantiate needs a semantic update > We want Spring to discover these types from the classpath (so that we can > build the metamodel eagerly), but we don't want it to manage them, or do we? > Using @Scope(PROTOTYPE) is the closest we can come to expressing that without > (attempting to) define a custom scope for each of these three types., > analogous to factoryService#instantiate for transient objects. > In practical terms, inventing a custom "entity" scope is probably impossible > due to DN's design (the enhancer creates a dnNewInstance method and this is > called upon as a factory). > Instead, then, we "veto" any of these domain types so that Spring is NOT > allowed to instantiate any of them. > The docs should be updated to explain what we're doing here. -- This message was sent by Atlassian Jira (v8.3.4#803005)