Interface ReloadablePlugin


  • 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.
    • Method Summary

      Modifier and Type Method Description
      void reload​(Settings settings)
      Called to trigger the rebuilt of the plugin's internal members.
    • Method Detail

      • reload

        void reload​(Settings settings)
             throws java.lang.Exception
        Called 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 settings argument 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.
        Parameters:
        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.
        Throws:
        java.lang.Exception - if the operation failed. The plugin should continue to operate as if the offending call didn't happen.