Am 29.01.2013 01:32, schrieb Ralph Goers:
Sure - But as I've worked with CombinedConfiguration I became less enthralled 
with it.  The problem I had with the DynamicCombinedConfiguration was that 
every CombinedConfiguration has to have its own copy of all the configurations. 
Attempting to share a configuration led to all kinds of corruption when the 
file was updated and the tree was modified.  I really wanted to do the same 
thing with CompositeConfiguration but since it didn't officially support XML 
and doesn't have a builder I didn't get around to it.
I don't have a bright idea how to handle this. I hope, situation gets a bit better when reloading is done differently; then configuration data cannot change completely at any time. It is still on my list for 2.0 to implement a mechanism to make configurations optionally thread-safe. Hopefully, this leads to a solution for CombinedConfiguration, too.


Ultimately, I would prefer that there only be one ConfigurationBuilder and that 
its end result be a Configuration, not a CombinedConfiguration.  Underneath 
that there could, of course, be various flavors of builders but ideally the 
user wouldn't need to be bothered with them.
Sounds good. Currently I am following a bottom-up approach, i.e. I create the various builders first. It should be possible to implement a 'meta' builder on top later.

Oliver


Ralph


On Jan 28, 2013, at 1:10 PM, Oliver Heger wrote:

(From time to time I am going to post an update about the progress I have made 
so that everybody who is interested can comment.)

Just finished reworking MultiFileConfiguration to use the new builder approach. 
There is now a MultiFileConfigurationBuilder class offering pretty much the 
same functionality plus that it can deal with arbitrary file-based 
configurations.

The class now also works well together with CombinedConfigurationBuilder in the 
same way the old integration was with DefaultConfigurationBuilder, i.e. a 
DynamicCombinedConfiguration is used to ensure that a new CombinedConfiguration 
is constructed every time the file pattern changes.

@Ralph: Maybe, as the original author, you find the time to have a short look 
to verify that no features were lost?

CombinedConfigurationBuilder should now provide the same functionality as 
DefaultConfigurationBuilder. With slight exceptions it can process the same 
configuration definition files. So I plan to remove DefaultConfigurationBuilder 
shortly.

Oliver

Am 05.01.2013 16:48, schrieb Oliver Heger:
Hi Jörg,

Am 04.01.2013 17:47, schrieb Jörg Schaible:
Hi Oliver,

Oliver Heger wrote:

Hi,

recently I have worked on code regarding the creation of Configuration
objects and reloading support. I have created two Jira tickets [1, 2]
with a description of the problems I see in the current design.

The code in SVN (mainly in the new builder package) should be sufficient
to get a good impression about the direction I would like to go. It is
far more than a pure proof of concept.

However, following this road means some significant changes in the
design and in the way client code uses our classes. Therefore, I would
really appreciate feedback from other committers also interested in this
component.

My main question is: Can we replace the reloading mechanisms available
in 1.x by an approach based on builders as currently implemented in
trunk (e.g. classes
o.a.c.c.builder.ReloadingFileBasedConfigurationBuilder,
o.a.c.c.reloading.ReloadingController)? If the answer is 'yes', we could
go forward and significantly simplify most of the file-based
configuration implementations.

Thanks
Oliver

[1] https://issues.apache.org/jira/browse/CONFIGURATION-519
[2] https://issues.apache.org/jira/browse/CONFIGURATION-520

simply go-on with these changes. IMHO it looks good and since
separation of
concern leads here to significant code simplification, it's for the
best of
us devs and also for our users in the long term. Especially since the new
approach brings also improved functionality.

Thanks for your feedback. Will do!

Oliver


Cheers,
Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to