Class FileBasedMultiTenantMetadataLoader
java.lang.Object
io.confluent.kafka.multitenant.FileBasedMultiTenantMetadataLoader
- All Implemented Interfaces:
AutoCloseable, org.apache.kafka.common.Configurable, org.apache.kafka.server.multitenant.MultiTenantMetadataLoader
public class FileBasedMultiTenantMetadataLoader
extends Object
implements org.apache.kafka.server.multitenant.MultiTenantMetadataLoader
Load-once
MultiTenantMetadataLoader that reads <lkc-id>.json sidecar
files from a directory and publishes them via the MultiTenantMetadataPublisher
contract.
Intended for local dev / integration environments (e.g. k2-in-a-box) where the
topic-backed KafkaLogicalClusterMetadataLoader cannot be used because the
_confluent-logical_clusters internal topic does not exist. Production wires
the topic-based loader instead; this implementation is not for production use.
Files are read from <multitenant.metadata.dir>/..data following the K8s
ConfigMap convention. The directory is read exactly once during start(Map),
so changes after start require a broker restart to take effect.
-
Constructor Summary
ConstructorsConstructorDescriptionFileBasedMultiTenantMetadataLoader(org.apache.kafka.common.metrics.Metrics metrics, org.apache.kafka.common.utils.Time time) Reflection constructor used byConfluentConfigs.buildMultiTenantMetadataLoader(AbstractConfig, Metrics). -
Method Summary
-
Constructor Details
-
FileBasedMultiTenantMetadataLoader
public FileBasedMultiTenantMetadataLoader(org.apache.kafka.common.metrics.Metrics metrics, org.apache.kafka.common.utils.Time time) Reflection constructor used byConfluentConfigs.buildMultiTenantMetadataLoader(AbstractConfig, Metrics). Args are unused; the loader is configured viaconfigure(Map).
-
-
Method Details
-
configure
-
subscribe
public void subscribe(org.apache.kafka.server.multitenant.MultiTenantMetadataPublisher publisher) - Specified by:
subscribein interfaceorg.apache.kafka.server.multitenant.MultiTenantMetadataLoader
-
start
- Specified by:
startin interfaceorg.apache.kafka.server.multitenant.MultiTenantMetadataLoader
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-