Class LicenseManagerServiceImpl

java.lang.Object
io.confluent.license.service.LicenseManagerServiceImpl
All Implemented Interfaces:
AutoCloseable, org.apache.kafka.server.license.LicenseManagerService

public class LicenseManagerServiceImpl extends Object implements org.apache.kafka.server.license.LicenseManagerService
Default implementation of LicenseManagerService.

This service creates its own separate LicenseManager instance, not shared with ConfluentLicenseValidator, to provide clean isolation between RPC API operations and broker monitoring.

Follows the same async initialization pattern as ConfluentLicenseValidator: the constructor is no-arg (for ServiceLoader), configure(Map) stores configs, and start(String) creates the LicenseStore and LicenseManager on a background thread to avoid blocking broker startup.

This manager only serves the license read/update APIs; it deliberately does not start the LicenseManager scheduler, so it runs no license reconciliation or expiry escalation. Those remain the node-level ConfluentLicenseValidator's responsibility.

  • Constructor Details

    • LicenseManagerServiceImpl

      public LicenseManagerServiceImpl()
  • Method Details

    • enabled

      public boolean enabled()
      Specified by:
      enabled in interface org.apache.kafka.server.license.LicenseManagerService
    • configure

      public void configure(Map<String,?> configs)
      Specified by:
      configure in interface org.apache.kafka.server.license.LicenseManagerService
    • start

      public CompletableFuture<Void> start(String componentId)
      Specified by:
      start in interface org.apache.kafka.server.license.LicenseManagerService
    • isReady

      public boolean isReady()
      Specified by:
      isReady in interface org.apache.kafka.server.license.LicenseManagerService
    • updateLicense

      public org.apache.kafka.server.license.UpdateLicenseResult updateLicense(String licenseJwt, boolean dryRun)
      Specified by:
      updateLicense in interface org.apache.kafka.server.license.LicenseManagerService
    • getLicenses

      public org.apache.kafka.server.license.GetLicensesResult getLicenses()
      Specified by:
      getLicenses in interface org.apache.kafka.server.license.LicenseManagerService
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.apache.kafka.server.license.LicenseManagerService