use of org.apache.commons.configuration2.builder.ReloadingFileBasedConfigurationBuilder in project nifi by apache.
the class CommonsConfigurationLookupService method onEnabled.
@OnEnabled
public void onEnabled(final ConfigurationContext context) throws InitializationException {
final String config = context.getProperty(CONFIGURATION_FILE).getValue();
final FileBasedBuilderParameters params = new Parameters().fileBased().setFile(new File(config));
this.builder = new ReloadingFileBasedConfigurationBuilder<>(resultClass).configure(params);
builder.addEventListener(ConfigurationBuilderEvent.CONFIGURATION_REQUEST, new EventListener<ConfigurationBuilderEvent>() {
@Override
public void onEvent(ConfigurationBuilderEvent event) {
if (builder.getReloadingController().checkForReloading(null)) {
getLogger().debug("Reloading " + config);
}
}
});
try {
// Try getting configuration to see if there is any issue, for example wrong file format.
// Then throw InitializationException to keep this service in 'Enabling' state.
builder.getConfiguration();
} catch (ConfigurationException e) {
throw new InitializationException(e);
}
}
Aggregations