Interface ConfiguredProvider<T extends NamedService>

Type Parameters:
T - type of the service this provider provides
All Known Subinterfaces:
ContentEncodingProvider, DataSourceConfigProvider, GrpcClientServiceProvider, GrpcServerServiceProvider, JdbcConnectionPoolProvider, LimitProvider, MediaSupportProvider, MessagingConnectorProvider, MetricsPublisherProvider, ObserveProvider, OpenApiManagerProvider, OpenApiServiceProvider, OpenApiVersionProvider, ProtocolConfigProvider<T>, ProtocolConfigProvider<T>, ServerFeatureProvider<T>, TlsManagerProvider, TransportBindingFactoryProvider, WebClientServiceProvider
All Known Implementing Classes:
AccessLogFeatureProvider, AimdLimitProvider, ConfigObserveProvider, ContextFeatureProvider, DeflateEncodingProvider, FixedLimitProvider, GrpcClientTracingProvider, GrpcProtocolConfigProvider, GrpcReflectionFeatureProvider, GrpcSecurityServiceProvider, GrpcTracingServiceProvider, GrpcValidationProvider, GzipEncodingProvider, HealthObserveProvider, HikariConnectionPoolProvider, HikariDataSourceConfigProvider, HstsFeatureProvider, Http1ProtocolConfigProvider, Http1ProtocolConfigProvider, Http2ProtocolConfigProvider, Http2ProtocolConfigProvider, InfoObserveProvider, JacksonMediaSupportProvider, JdbcDataSourceConfigProvider, JsonBindingMediaSupportProvider, JsonbMediaSupportProvider, JsonMediaSupportProvider, JsonpMediaSupportProvider, LimitsFeatureProvider, LogObserveProvider, MetricsObserveProvider, MultiPartSupportProvider, ObserveFeatureProvider, OpenApi30VersionProvider, OpenApi31VersionProvider, OpenApi32VersionProvider, OpenApiFeatureProvider, OtlpPublisherProvider, PrometheusPublisherProvider, RequestScopeFeatureProvider, SecurityFeatureProvider, SmileMediaSupportProvider, StaticContentFeatureProvider, StuckThreadDetectionFeatureProvider, TcpTransportBindingFactoryProvider, ThroughputLimitProvider, TracingObserveProvider, UcpDataSourceConfigProvider, UdsTransportBindingFactoryProvider, WebClientContextServiceProvider, WebClientDiscoveryProvider, WebClientMetricsProvider, WebClientSecurityProvider, WebClientTelemetryProvider, WebClientTracingProvider, WebServerValidationFeatureProvider, WsProtocolConfigProvider, WsProtocolConfigProvider

public interface ConfiguredProvider<T extends NamedService>
Providers that can be loaded from configuration should implement this interface.
  • Method Summary

    Modifier and Type
    Method
    Description
    Key this service implementation is stored under.
    create(Config config, String name)
    Create a new instance from the configuration located on the provided node.
    default T
    create(Config config, String name, ServiceRegistry serviceRegistry)
    Create a new instance from configuration using services from the registry which owns the configured instance.
  • Method Details

    • configKey

      String configKey()
      Key this service implementation is stored under. This is also considered the service "type" when used in a list in configuration, to allow the same service defined more than once.
      Returns:
      key of this implementation
    • create

      T create(Config config, String name)
      Create a new instance from the configuration located on the provided node.
      Parameters:
      config - located at configKey() node
      name - name of the configured implementation
      Returns:
      a new instance created from this config node
    • create

      default T create(Config config, String name, ServiceRegistry serviceRegistry)
      Create a new instance from configuration using services from the registry which owns the configured instance.

      The default implementation delegates to create(Config, String) for backward compatibility.

      Parameters:
      config - located at configKey() node
      name - name of the configured implementation
      serviceRegistry - service registry which owns the configured instance
      Returns:
      a new instance created from this config node