(Without digging into the code to confirm), as I recall the idea was that IsisConfiguration is an immutable object, whereas IsisConfigurationBuilder is mutable (cf StringBuilder and String). However, each time we load an Installer, we go looking for a corresponding properties file (eg persistor_datanucleus.properties), which may contribute some additional properties into the configuration. So we need to invalidate our current view of the configuration properties because there are more to add.
I don't think I ever changed this algorithm from the original implementation that I presume you wrote... though I have undoubtedly refactored it over the years. So if you wanted to simplify it (eg to have a single mutable IsisConfiguration and dispense with the whole notion of IsisConfigurationBuilder), then I wouldn't object. One simplification, for example, might be to have a flag on IsisConfiguration whereby we can tell it is that it is fixed and no further properties should be added. Dan On 16 October 2012 22:27, Robert Matthews <[email protected]>wrote: > Dan > > The configuration data is being reread (about 10 times) as the > invalidateCache method keeps getting called. What's the rationale behind > this? > > Rob >
