Overview
This service uses a background thread to monitor a list of configuration files. A resource is loaded by using a resource name and an InputStreamLocator. The a SHA-1 hashcode is derived and compared to the previous hashcode. If a change is detected either the whole container or a list of services are reconfigured. This service allows reconfiguration support without using client/server communication.
Configuration
Role Configuration
<role
name="org.apache.fulcrum.yaafi.service.reconfiguration.ReconfigurationService"
shorthand="ReconfigurationService"
default-class="org.apache.fulcrum.yaafi.service.reconfiguration.ReconfigurationServiceImpl"
early-init="true"
description="Monitors configuration files to reconfigure YAAFI"
/>
Example Component Configuration
The following configuration checks every 5 seconds if the files have changed. Changing "TestComponentConfig" triggers the reconfiguration of the container whereas a change of "TestParameters.properties" would reconfigure the two listed services.
<ReconfigurationService interval="5000">
<entry>
<location>./src/test/TestComponentConfig.xml</location>
</entry>
<entry>
<location>./src/test/TestParameters.properties</location>
<services>
<service name="org.apache.fulcrum.yaafi.TestComponent"/>
<service name="org.apache.fulcrum.yaafi.service.systemproperty.SystemPropertyService"/>
</services>
</entry>
</ReconfigurationService>

