Interface ConfigRetriever


  • public interface ConfigRetriever
    Defines a configuration retriever that read configuration from ConfigStore and tracks changes periodically.
    Author:
    Clement Escoffier
    • Method Detail

      • create

        static ConfigRetriever create​(Vertx vertx,
                                      ConfigRetrieverOptions options)
        Creates an instance of the default implementation of the ConfigRetriever.
        Parameters:
        vertx - the vert.x instance
        options - the options, must not be null, must contain the list of configured store.
        Returns:
        the created instance.
      • create

        static ConfigRetriever create​(Vertx vertx)
        Creates an instance of the default implementation of the ConfigRetriever, using the default settings (json file, system properties and environment variables).
        Parameters:
        vertx - the vert.x instance
        Returns:
        the created instance.
      • getConfig

        Future<JsonObject> getConfig()
        Reads the configuration from the different ConfigStore and computes the final configuration.
        Returns:
        a future notified the computed configuration, or a failure if the configuration cannot be retrieved
      • close

        Future<Void> close()
        Closes the retriever.
      • getCachedConfig

        JsonObject getCachedConfig()
        Gets the last computed configuration.
        Returns:
        the last configuration
      • listen

        void listen​(Handler<ConfigChange> listener)
        Registers a listener receiving configuration changes. This method cannot only be called if the configuration is broadcasted.
        Parameters:
        listener - the listener
      • setBeforeScanHandler

        ConfigRetriever setBeforeScanHandler​(Handler<Void> handler)
        Registers a handler called before every scan. This method is mostly used for logging purpose.
        Parameters:
        handler - the handler, must not be null
        Returns:
        the current config retriever
      • setConfigurationProcessor

        ConfigRetriever setConfigurationProcessor​(java.util.function.Function<JsonObject,​JsonObject> processor)
        Registers a handler that process the configuration before being injected into #getConfig(Handler) or listen(Handler). This allows the code to customize the configuration.
        Parameters:
        processor - the processor, must not be null. The method must not return null. The returned configuration is used. If the processor does not update the configuration, it must return the input configuration. If the processor throws an exception, the failure is passed to the #getConfig(Handler) handler.
        Returns:
        the current config retriever
      • configStream

        ReadStream<JsonObject> configStream()
        Returns:
        the stream of configurations. It's single stream (unicast) and that delivers the last known config and the successors periodically.