Class AmqpSourceData

java.lang.Object
io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
io.aiven.kafka.connect.amqp.source.AmqpSourceData
All Implemented Interfaces:
AutoCloseable

public final class AmqpSourceData extends io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
The AMQP NativeSourceData implementation.

This implementation reads Delivery records from a protonj2 Receiver and creates AmqpSourceNativeInfo objects from those.

Since Message objects are not required to have a unique ID, this implementation uses a ULID for the native key. ULIDs are generated in the AmqpSourceNativeInfo class.

  • Method Details

    • getSourceName

      public String getSourceName()
      Specified by:
      getSourceName in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
    • getNativeItemIterator

      public Iterator<AmqpSourceNativeInfo> getNativeItemIterator(de.huxhorn.sulky.ulid.ULID.Value ignore)
      Specified by:
      getNativeItemIterator in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
    • createOffsetManagerEntry

      public io.aiven.commons.kafka.connector.source.OffsetManager.OffsetManagerEntry createOffsetManagerEntry(Map<String,Object> data)
      Specified by:
      createOffsetManagerEntry in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
    • createOffsetManagerEntry

      protected io.aiven.commons.kafka.connector.source.OffsetManager.OffsetManagerEntry createOffsetManagerEntry(io.aiven.commons.kafka.connector.source.task.Context context)
      Specified by:
      createOffsetManagerEntry in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
    • getNativeKeySerde

      protected Optional<io.aiven.commons.kafka.connector.source.NativeSourceData.KeySerde<de.huxhorn.sulky.ulid.ULID.Value>> getNativeKeySerde()
      Specified by:
      getNativeKeySerde in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
    • getOffsetManagerKey

      public io.aiven.commons.kafka.connector.source.OffsetManager.OffsetManagerKey getOffsetManagerKey(de.huxhorn.sulky.ulid.ULID.Value nativeKey)
      Specified by:
      getOffsetManagerKey in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
    • close

      public void close() throws Exception
      Specified by:
      close in interface AutoCloseable
      Overrides:
      close in class io.aiven.commons.kafka.connector.source.NativeSourceData<de.huxhorn.sulky.ulid.ULID.Value>
      Throws:
      Exception