Package org.apache.pulsar.broker.storage
Interface ManagedLedgerStorage
- All Superinterfaces:
AutoCloseable
- All Known Implementing Classes:
ManagedLedgerClientFactory
Storage to access
ManagedLedgers.
The interface provides the abstraction to access the storage layer for managed ledgers.
The interface supports multiple storage classes, each with its own configuration. The default
implementation supports a single instance of BookkeeperManagedLedgerStorageClass.
Implementations can provide multiple storage classes. The default storage class is used
for topics unless it is overridden by the persistency policy at topic or namespace level.
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the storage.static ManagedLedgerStoragecreate(ServiceConfiguration conf, org.apache.pulsar.metadata.api.extended.MetadataStoreExtended metadataStore, BookKeeperClientFactory bkProvider, io.netty.channel.EventLoopGroup eventLoopGroup, io.opentelemetry.api.OpenTelemetry openTelemetry) Initialize theManagedLedgerStoragefrom the provided resources.default ManagedLedgerStorageClassGet the default storage class.Lookup a storage class by name.Get all configured storage class instances.voidinitialize(ServiceConfiguration conf, org.apache.pulsar.metadata.api.extended.MetadataStoreExtended metadataStore, BookKeeperClientFactory bookkeeperProvider, io.netty.channel.EventLoopGroup eventLoopGroup, io.opentelemetry.api.OpenTelemetry openTelemetry) Initialize the managed ledger storage.
-
Method Details
-
initialize
void initialize(ServiceConfiguration conf, org.apache.pulsar.metadata.api.extended.MetadataStoreExtended metadataStore, BookKeeperClientFactory bookkeeperProvider, io.netty.channel.EventLoopGroup eventLoopGroup, io.opentelemetry.api.OpenTelemetry openTelemetry) throws Exception Initialize the managed ledger storage.- Parameters:
conf- service configbookkeeperProvider- bookkeeper provider- Throws:
Exception
-
getStorageClasses
Collection<ManagedLedgerStorageClass> getStorageClasses()Get all configured storage class instances.- Returns:
- all configured storage class instances
-
getDefaultStorageClass
Get the default storage class.- Returns:
- default storage class
-
getManagedLedgerStorageClass
Lookup a storage class by name.- Parameters:
name- storage class name- Returns:
- storage class instance, or empty if not found
-
close
Close the storage.- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-
create
static ManagedLedgerStorage create(ServiceConfiguration conf, org.apache.pulsar.metadata.api.extended.MetadataStoreExtended metadataStore, BookKeeperClientFactory bkProvider, io.netty.channel.EventLoopGroup eventLoopGroup, io.opentelemetry.api.OpenTelemetry openTelemetry) throws Exception Initialize theManagedLedgerStoragefrom the provided resources.- Parameters:
conf- service configbkProvider- bookkeeper client provider- Returns:
- the initialized managed ledger storage.
- Throws:
Exception
-