Interface ClientAuthenticationServices


public interface ClientAuthenticationServices
The framework-owned runtime services a PulsarClient late-binds into its authentication driver once the client instance exists (PIP-478).

An Authentication plugin is configured on the client builder before the client is constructed (via conf.setAuthentication(...)), so these services cannot be supplied at plugin construction time. The client therefore binds them right after it has created its own executors and HTTP client factory, but before it starts the plugin — see ClientAuthenticationServicesAware. The services mirror the fields the plugin ultimately sees through its AuthenticationInitContext.

The framework owns and closes these shared services; a driver may retain the reference for the lifetime of the client.

The .internal. subpackage signals "stable internal" — application code should not consume this type; it is passed between the framework's own client and its authentication bridges.

  • Method Details

    • httpClientFactory

      org.apache.pulsar.http.PulsarHttpClientFactory httpClientFactory()
      Returns:
      the framework's AsyncHttpClient-backed HTTP client factory, sharing the owning client's event loop / timer / DNS resources; never null
    • scheduler

      Returns:
      the framework-owned scheduler for delayed / periodic authentication work; never the Netty event loop
    • blockingExecutor

      Executor blockingExecutor()
      Returns:
      the framework-owned bounded executor for off-loading potentially-blocking authentication work (credential I/O, legacy v4 plugin calls); never the Netty event loop
    • clock

      Clock clock()
      Returns:
      the clock implementations schedule against
    • openTelemetry

      io.opentelemetry.api.OpenTelemetry openTelemetry()
      Returns:
      the telemetry root (OpenTelemetry.noop() when unset)
    • clientInstanceId

      String clientInstanceId()
      Returns:
      a stable id of the owning PulsarClient, for logging correlation