You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Andi Huber (JIRA)" <ji...@apache.org> on 2019/06/17 21:08:00 UTC
[jira] [Closed] (ISIS-2039) Redesign of Configuration
[ https://issues.apache.org/jira/browse/ISIS-2039?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andi Huber closed ISIS-2039.
----------------------------
Resolution: Fixed
Configuration is now bootstrapped by Spring. We pass over all the configuration properties to Isis once Spring's context becomes available. For convenience the key/value pairs that make up the configuration are made accessible via an instance of `IsisConfiguration`. This is a Spring-managed bean, available for injection.
> Redesign of Configuration
> -------------------------
>
> Key: ISIS-2039
> URL: https://issues.apache.org/jira/browse/ISIS-2039
> Project: Isis
> Issue Type: Improvement
> Components: Core
> Reporter: Andi Huber
> Assignee: Andi Huber
> Priority: Major
> Fix For: 2.0.0
>
>
> Goals:
> 1) the framework shall provide a singleton instance of IsisConfiguration, which is an interface that provides immutable/readonly access to the config key/value pairs
> 2) the framework provides IsisConfigurationBuilder once during the early-bootstrap phase for r/w access to the config key/value pairs
> 3) first time any module requests access to IsisConfiguration, a singleton instance IsisConfiguration is built using the builder and the builder itself is no longer valid, meaning the framework denies any caller access to the builder
> A benefit of this design is, that it is no longer required to pass around or hold instances of IsisConfiguration, because the framework provides a static means to get the current life-cycle's singletons for configuration.
> Side-effects ...
> 1) cleanup and simplify bootstrapping code
> 2) no more configuration mocking for JUnit tests, instead use new internal Config API
> 3) removal of @PostConstruct methods that take arguments
> 4) removal of apache commons dependencies (really only required by the WebServer tool)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)