So the Configuration is immutable and consistent.

Can the Builder clients listen for change events?

Is there a separate interface to the Builder to change the configuration
state and fire persist events?

Thanks,
chas

On 10/11/12 1:09 PM, "Oliver Heger" <[email protected]> wrote:

>Hi,
>
>in the last few days I have worked on a new approach for handling
>reloading in a more generic and loosely coupled way. To get a better
>base for discussion, I created some code (mainly in the reloading and
>the new builder packages).
>
>The basic idea is that reloading is no more handled by the Configuration
>object, but by a ConfigurationBuilder. Fully initialized configurations
>can be obtained from corresponding builder objects.
>
>A new class ReloadingController is responsible for reload operations. It
>has a ReloadingDetector for monitoring a specific configuration source.
>When a change is detected it just fires an event. The controller has a
>method for triggering the check for changes. It has to be called by an
>external component whenever a check is to be done. This could be done
>for instance by a timer task.
>
>A special reloading builder (ReloadingFileBasedConfigurationBuilder) is
>associated with such a controller and receives change notifications. On
>receiving an event it is reset so that on next access a new
>configuration has to be created.
>
>So when following this approach, for applications a reference to the
>builder is more important than a Configuration object. When
>configuration data is needed, the Configuration is obtained from the
>builder and accessed; this instance will not be changed by a reload
>operation. In [1] I have already described the pros and cons of this
>approach as I see them.
>
>Feedback is welcome!
>
>Oliver
>
>[1] http://www.mail-archive.com/[email protected]/msg33669.html
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [email protected]
>For additional commands, e-mail: [email protected]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to