Class StaticConfigurationChangedException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
io.kroxylicious.proxy.reload.StaticConfigurationChangedException
All Implemented Interfaces:
Serializable

public class StaticConfigurationChangedException extends RuntimeException
Exceptional-completion cause for KafkaProxy.reconfigure(Configuration) when the submitted configuration differs from the running configuration in any static section — i.e. a section the proxy does not reconcile at runtime.

KafkaProxy.reconfigure(Configuration) reconciles only the virtual-cluster sections of the configuration and the named filter definitions that those virtual clusters reference. Other sections (management, metrics, admin, etc.) are static: their values are fixed at proxy startup and cannot be changed without a proxy restart. If the submitted configuration differs from the running configuration in any such section, the reconfigure is rejected as a pre-flight check before any virtual-cluster change is attempted. The proxy's running state is unchanged.

Identifier semantics. The humanReadableIdentifiers returned by humanReadableIdentifiers() are best-effort strings that identify the static configuration sections whose values differ between the running and submitted configurations (e.g. "management", "metrics", "admin"). The format is implementation-defined and intended for human consumption (logs, alerts, operator-facing surfaces). The same identifier semantics are used by ReconfigureError.humanReadableIdentifier() for per-component failure reporting; programmatic consumers should treat both as opaque strings to be displayed, not parsed.

This exception is not thrown synchronously from reconfigure(); instead the returned future completes exceptionally with this cause.

See Also:
  • Constructor Details

    • StaticConfigurationChangedException

      public StaticConfigurationChangedException(Set<String> humanReadableIdentifiers)
      Parameters:
      humanReadableIdentifiers - best-effort strings identifying the static configuration sections that differ between the running and submitted configurations; non-null, may be empty (though an empty set indicates a programmer error in the proxy itself rather than a real static-section change)
      Throws:
      NullPointerException - if humanReadableIdentifiers is null
  • Method Details

    • humanReadableIdentifiers

      public Set<String> humanReadableIdentifiers()
      Returns the best-effort human-readable identifiers of the static configuration sections that differ between the running and submitted configurations and that the proxy declined to reconcile. The returned set is immutable. See the class-level Javadoc for identifier semantics.