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