Class BaseSqsNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>

java.lang.Object
io.datarouter.storage.node.BaseNode<PK,D,F>
io.datarouter.storage.node.type.physical.base.BasePhysicalNode<PK,D,F>
io.datarouter.aws.sqs.BaseSqsNode<PK,D,F>
All Implemented Interfaces:
SqsPhysicalNode<PK,D,F>, io.datarouter.storage.node.Node<PK,D,F>, io.datarouter.storage.node.op.NodeOps<PK,D>, io.datarouter.storage.node.op.raw.write.QueueStorageWriter<PK,D>, io.datarouter.storage.node.op.raw.write.StorageWriter<PK,D>, io.datarouter.storage.node.type.physical.PhysicalNode<PK,D,F>, Comparable<io.datarouter.storage.node.Node<PK,D,F>>
Direct Known Subclasses:
SqsGroupNode, SqsNode

public abstract class BaseSqsNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>> extends io.datarouter.storage.node.type.physical.base.BasePhysicalNode<PK,D,F> implements io.datarouter.storage.node.op.raw.write.QueueStorageWriter<PK,D>, SqsPhysicalNode<PK,D,F>
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.write.QueueStorageWriter

    io.datarouter.storage.node.op.raw.write.QueueStorageWriter.PhysicalQueueStorageWriterNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>, io.datarouter.storage.node.op.raw.write.QueueStorageWriter.QueueStorageWriterNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>

    Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.write.StorageWriter

    io.datarouter.storage.node.op.raw.write.StorageWriter.StorageWriterNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
     
    static final int
     
    static final Duration
     
    static final long
     
    protected final SqsOpFactory<PK,D,F>
     

    Fields inherited from interface io.datarouter.storage.node.op.raw.write.QueueStorageWriter

    OP_ack, OP_ackMulti

    Fields inherited from interface io.datarouter.storage.node.op.raw.write.StorageWriter

    OP_put, OP_putMulti
  • Constructor Summary

    Constructors
    Constructor
    Description
    BaseSqsNode(SqsQueueNameService sqsQueueNameService, io.datarouter.storage.node.NodeParams<PK,D,F> params, SqsClientType sqsClientType, SqsClientManager sqsClientManager, io.datarouter.storage.client.ClientId clientId)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    ack(io.datarouter.storage.queue.QueueMessageKey key, io.datarouter.storage.config.Config config)
     
    void
    ackMulti(Collection<io.datarouter.storage.queue.QueueMessageKey> keys, io.datarouter.storage.config.Config config)
     
    boolean
     
     
     
    boolean
     

    Methods inherited from class io.datarouter.storage.node.type.physical.base.BasePhysicalNode

    getChildNodes, getClientId, getClientIds, getClientType, getFieldInfo, getName, getPhysicalNodes, getPhysicalNodesForClient, toString, usesClient

    Methods inherited from class io.datarouter.storage.node.BaseNode

    compareTo

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Comparable

    compareTo

    Methods inherited from interface io.datarouter.storage.node.Node

    getChildNodes, getClientIds, getName, getPhysicalNodes, getPhysicalNodesForClient, usesClient

    Methods inherited from interface io.datarouter.storage.node.type.physical.PhysicalNode

    clientAndTableNames, getClientId, getClientType, getFieldInfo

    Methods inherited from interface io.datarouter.storage.node.op.raw.write.QueueStorageWriter

    ack, ackMulti

    Methods inherited from interface io.datarouter.storage.node.op.raw.write.StorageWriter

    put, put, putMulti, putMulti
  • Field Details

    • MAX_MESSAGES_PER_BATCH

      public static final int MAX_MESSAGES_PER_BATCH
      See Also:
    • MAX_TIMEOUT

      public static final Duration MAX_TIMEOUT
    • DEFAULT_VISIBILITY_TIMEOUT_MS

      public static final long DEFAULT_VISIBILITY_TIMEOUT_MS
    • RETENTION_S

      public static final long RETENTION_S
    • sqsOpFactory

      protected final SqsOpFactory<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>> sqsOpFactory
  • Constructor Details

  • Method Details

    • getQueueUrlAndName

      public Supplier<QueueUrlAndName> getQueueUrlAndName()
      Specified by:
      getQueueUrlAndName in interface SqsPhysicalNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>
    • getAgeMonitoringStatusForMetricAlert

      public boolean getAgeMonitoringStatusForMetricAlert()
      Specified by:
      getAgeMonitoringStatusForMetricAlert in interface SqsPhysicalNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>
    • getCustomMessageAgeThreshold

      public Duration getCustomMessageAgeThreshold()
      Specified by:
      getCustomMessageAgeThreshold in interface SqsPhysicalNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK,D>>
    • isOwned

      public boolean isOwned()
    • ack

      public void ack(io.datarouter.storage.queue.QueueMessageKey key, io.datarouter.storage.config.Config config)
      Specified by:
      ack in interface io.datarouter.storage.node.op.raw.write.QueueStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>>
    • ackMulti

      public void ackMulti(Collection<io.datarouter.storage.queue.QueueMessageKey> keys, io.datarouter.storage.config.Config config)
      Specified by:
      ackMulti in interface io.datarouter.storage.node.op.raw.write.QueueStorageWriter<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>>