Details
-
Task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
A problem is introduced when merging configuration objects when the default values are initialized on object creation. Specifically, it becomes much harder to create partial configurations to merge, as every instance of the configuration class contains the default values across most fields.
Typesafe config provides a recommended method for managing default values by putting a reference.conf in each module containing defaults.
Going this route, creating a streams configuration bean with StreamsConfigurator or a component configuration bean with ComponentConfigurator will work exactly as before, and create a bean with a constructor will contain only the fields that are explicitly set by user code, ensuring that merging an ordered list of beans with juneau PojoMerge or similar methods will do exactly what is asked instead of messing up on fields with defined defaults.