Interface LedgerOffloaderFactory<T extends LedgerOffloader>


  • @LimitedPrivate
    @Evolving
    public interface LedgerOffloaderFactory<T extends LedgerOffloader>
    Factory to create LedgerOffloader to offload ledgers into long-term storage.
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and Type Method Description
      T create​(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl offloadPolicies, java.util.Map<java.lang.String,​java.lang.String> userMetadata, org.apache.bookkeeper.common.util.OrderedScheduler scheduler)
      Create a ledger offloader with the provided configuration, user-metadata and scheduler.
      default T create​(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl offloadPolicies, java.util.Map<java.lang.String,​java.lang.String> userMetadata, org.apache.pulsar.common.protocol.schema.SchemaStorage schemaStorage, org.apache.bookkeeper.common.util.OrderedScheduler scheduler)
      Create a ledger offloader with the provided configuration, user-metadata, schema storage and scheduler.
      boolean isDriverSupported​(java.lang.String driverName)
      Check whether the provided driver driverName is supported.
    • Method Detail

      • isDriverSupported

        boolean isDriverSupported​(java.lang.String driverName)
        Check whether the provided driver driverName is supported.
        Parameters:
        driverName - offloader driver name
        Returns:
        true if the driver is supported, otherwise false.
      • create

        T create​(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl offloadPolicies,
                 java.util.Map<java.lang.String,​java.lang.String> userMetadata,
                 org.apache.bookkeeper.common.util.OrderedScheduler scheduler)
          throws java.io.IOException
        Create a ledger offloader with the provided configuration, user-metadata and scheduler.
        Parameters:
        offloadPolicies - offload policies
        userMetadata - user metadata
        scheduler - scheduler
        Returns:
        the offloader instance
        Throws:
        java.io.IOException - when fail to create an offloader
      • create

        default T create​(org.apache.pulsar.common.policies.data.OffloadPoliciesImpl offloadPolicies,
                         java.util.Map<java.lang.String,​java.lang.String> userMetadata,
                         org.apache.pulsar.common.protocol.schema.SchemaStorage schemaStorage,
                         org.apache.bookkeeper.common.util.OrderedScheduler scheduler)
                  throws java.io.IOException
        Create a ledger offloader with the provided configuration, user-metadata, schema storage and scheduler.
        Parameters:
        offloadPolicies - offload policies
        userMetadata - user metadata
        schemaStorage - used for schema lookup in offloader
        scheduler - scheduler
        Returns:
        the offloader instance
        Throws:
        java.io.IOException - when fail to create an offloader