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:
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>
  • 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 int
     
    static final int
     
    static final int
     
    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(io.datarouter.storage.config.properties.EnvironmentName environmentName, io.datarouter.storage.config.properties.ServiceName serviceName, 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)
     
     
    buildQueueName(String environmentName, String serviceName)
     
    Supplier<io.datarouter.util.tuple.Twin<String>>
     
    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.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_SECONDS

      public static final int MAX_TIMEOUT_SECONDS
      See Also:
    • MIN_QUEUE_NAME_LENGTH

      public static final int MIN_QUEUE_NAME_LENGTH
      See Also:
    • MAX_QUEUE_NAME_LENGTH

      public static final int MAX_QUEUE_NAME_LENGTH
      See Also:
    • 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

    • BaseSqsNode

      public BaseSqsNode(io.datarouter.storage.config.properties.EnvironmentName environmentName, io.datarouter.storage.config.properties.ServiceName serviceName, io.datarouter.storage.node.NodeParams<PK,D,F> params, SqsClientType sqsClientType, SqsClientManager sqsClientManager, io.datarouter.storage.client.ClientId clientId)
  • Method Details

    • buildNamespace

      public String buildNamespace()
    • buildQueueName

      public String buildQueueName(String environmentName, String serviceName)
    • getQueueUrlAndName

      public Supplier<io.datarouter.util.tuple.Twin<String>> getQueueUrlAndName()
    • 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>>