public interface ReloadablePlugin
An extension point for
Plugins that can be reloaded. There is no clear definition about what reloading a plugin actually means. When a plugin is reloaded it might rebuild any internal members. Plugins usually implement this interface in order to reread the values of
SecureSettings and then rebuild any dependent internal members.
void reload(Settings settings) throws java.lang.ExceptionCalled to trigger the rebuilt of the plugin's internal members. The reload operation is required to have been completed when the method returns. Strictly speaking, the
settingsargument should not be accessed outside of this method's call stack, as any values stored in the node's keystore (see
SecureSetting) will not otherwise be retrievable. The setting values do not follow dynamic updates, i.e. the values are identical to the ones during the initial plugin loading, barring the keystore file on disk changes. Any failure during the operation should be signaled by raising an exception, but the plugin should otherwise continue to function unperturbed.
settings- Settings used while reloading the plugin. All values are retrievable, including the values stored in the node's keystore. The setting values are the initial ones, from when the node has be started, i.e. they don't follow dynamic updates.
java.lang.Exception- if the operation failed. The plugin should continue to operate as if the offending call didn't happen.