Package org.apache.bookkeeper.mledger
Interface ManagedLedgerFactory
-
- All Known Implementing Classes:
ManagedLedgerFactoryImpl
@LimitedPrivate @Stable public interface ManagedLedgerFactoryA factory to open/create managed ledgers and delete them.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidasyncDelete(java.lang.String name, AsyncCallbacks.DeleteLedgerCallback callback, java.lang.Object ctx)Delete a managed ledger.voidasyncGetManagedLedgerInfo(java.lang.String name, AsyncCallbacks.ManagedLedgerInfoCallback callback, java.lang.Object ctx)Asynchronously get the current metadata info for a managed ledger.voidasyncOpen(java.lang.String name, AsyncCallbacks.OpenLedgerCallback callback, java.lang.Object ctx)Asynchronous open method.voidasyncOpen(java.lang.String name, ManagedLedgerConfig config, AsyncCallbacks.OpenLedgerCallback callback, java.util.function.Supplier<java.lang.Boolean> mlOwnershipChecker, java.lang.Object ctx)Asynchronous open method.voidasyncOpenReadOnlyCursor(java.lang.String managedLedgerName, Position startPosition, ManagedLedgerConfig config, AsyncCallbacks.OpenReadOnlyCursorCallback callback, java.lang.Object ctx)Open aReadOnlyCursorpositioned to the earliest entry for the specified managed ledgervoiddelete(java.lang.String name)Delete a managed ledger.ManagedLedgerInfogetManagedLedgerInfo(java.lang.String name)Get the current metadata info for a managed ledger.ManagedLedgeropen(java.lang.String name)Open a managed ledger.ManagedLedgeropen(java.lang.String name, ManagedLedgerConfig config)Open a managed ledger.ReadOnlyCursoropenReadOnlyCursor(java.lang.String managedLedgerName, Position startPosition, ManagedLedgerConfig config)Open aReadOnlyCursorpositioned to the earliest entry for the specified managed ledgervoidshutdown()Releases all the resources maintained by the ManagedLedgerFactory.
-
-
-
Method Detail
-
open
ManagedLedger open(java.lang.String name) throws java.lang.InterruptedException, ManagedLedgerException
Open a managed ledger. If the managed ledger does not exist, a new one will be automatically created. Uses the default configuration parameters.- Parameters:
name- the unique name that identifies the managed ledger- Returns:
- the managed ledger
- Throws:
ManagedLedgerExceptionjava.lang.InterruptedException
-
open
ManagedLedger open(java.lang.String name, ManagedLedgerConfig config) throws java.lang.InterruptedException, ManagedLedgerException
Open a managed ledger. If the managed ledger does not exist, a new one will be automatically created.- Parameters:
name- the unique name that identifies the managed ledgerconfig- managed ledger configuration- Returns:
- the managed ledger
- Throws:
ManagedLedgerExceptionjava.lang.InterruptedException
-
asyncOpen
void asyncOpen(java.lang.String name, AsyncCallbacks.OpenLedgerCallback callback, java.lang.Object ctx)Asynchronous open method.- Parameters:
name- the unique name that identifies the managed ledgercallback- callback objectctx- opaque context- See Also:
open(String)
-
asyncOpen
void asyncOpen(java.lang.String name, ManagedLedgerConfig config, AsyncCallbacks.OpenLedgerCallback callback, java.util.function.Supplier<java.lang.Boolean> mlOwnershipChecker, java.lang.Object ctx)Asynchronous open method.- Parameters:
name- the unique name that identifies the managed ledgerconfig- managed ledger configurationcallback- callback objectmlOwnershipChecker- checks ml-ownership in case updating ml-metadata fails due to ownership conflictctx- opaque context- See Also:
open(String, ManagedLedgerConfig)
-
openReadOnlyCursor
ReadOnlyCursor openReadOnlyCursor(java.lang.String managedLedgerName, Position startPosition, ManagedLedgerConfig config) throws java.lang.InterruptedException, ManagedLedgerException
Open aReadOnlyCursorpositioned to the earliest entry for the specified managed ledger- Parameters:
managedLedgerName-startPosition- set the cursor on that particular position. If setting to `PositionImpl.earliest` it will be positioned on the first available entry.- Returns:
- Throws:
java.lang.InterruptedExceptionManagedLedgerException
-
asyncOpenReadOnlyCursor
void asyncOpenReadOnlyCursor(java.lang.String managedLedgerName, Position startPosition, ManagedLedgerConfig config, AsyncCallbacks.OpenReadOnlyCursorCallback callback, java.lang.Object ctx)Open aReadOnlyCursorpositioned to the earliest entry for the specified managed ledger- Parameters:
managedLedgerName-startPosition- set the cursor on that particular position. If setting to `PositionImpl.earliest` it will be positioned on the first available entry.callback-ctx-
-
getManagedLedgerInfo
ManagedLedgerInfo getManagedLedgerInfo(java.lang.String name) throws java.lang.InterruptedException, ManagedLedgerException
Get the current metadata info for a managed ledger.- Parameters:
name- the unique name that identifies the managed ledger- Throws:
java.lang.InterruptedExceptionManagedLedgerException
-
asyncGetManagedLedgerInfo
void asyncGetManagedLedgerInfo(java.lang.String name, AsyncCallbacks.ManagedLedgerInfoCallback callback, java.lang.Object ctx)Asynchronously get the current metadata info for a managed ledger.- Parameters:
name- the unique name that identifies the managed ledgercallback- callback objectctx- opaque context
-
delete
void delete(java.lang.String name) throws java.lang.InterruptedException, ManagedLedgerExceptionDelete a managed ledger. If it's not open, it's metadata will get regardless deleted.- Parameters:
name-- Throws:
java.lang.InterruptedExceptionManagedLedgerException
-
asyncDelete
void asyncDelete(java.lang.String name, AsyncCallbacks.DeleteLedgerCallback callback, java.lang.Object ctx)Delete a managed ledger. If it's not open, it's metadata will get regardless deleted.- Parameters:
name-- Throws:
java.lang.InterruptedExceptionManagedLedgerException
-
shutdown
void shutdown() throws java.lang.InterruptedException, ManagedLedgerExceptionReleases all the resources maintained by the ManagedLedgerFactory.- Throws:
ManagedLedgerExceptionjava.lang.InterruptedException
-
-