akka.stream.alpakka.sqs.javadsl.SqsAckSink.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of akka-stream-alpakka-sqs_2.13 Show documentation
Show all versions of akka-stream-alpakka-sqs_2.13 Show documentation
Alpakka is a Reactive Enterprise Integration library for Java and Scala, based on Reactive Streams and Akka.
The newest version!
/*
* Copyright (C) since 2016 Lightbend Inc.
*/
package akka.stream.alpakka.sqs.javadsl
import java.util.concurrent.CompletionStage
import akka.Done
import akka.stream.alpakka.sqs.{MessageAction, SqsAckGroupedSettings, SqsAckSettings}
import akka.stream.javadsl.Sink
import software.amazon.awssdk.services.sqs.SqsAsyncClient
import scala.compat.java8.FutureConverters.FutureOps
/**
* Java API to create acknowledging sinks.
*/
object SqsAckSink {
/**
* creates a [[akka.stream.javadsl.Sink Sink]] for ack a single SQS message at a time using an [[software.amazon.awssdk.services.sqs.SqsAsyncClient]].
*/
def create(queueUrl: String,
settings: SqsAckSettings,
sqsClient: SqsAsyncClient): Sink[MessageAction, CompletionStage[Done]] =
akka.stream.alpakka.sqs.scaladsl.SqsAckSink
.apply(queueUrl, settings)(sqsClient)
.mapMaterializedValue(_.toJava)
.asJava
/**
* creates a [[akka.stream.javadsl.Sink Sink]] for ack grouped SQS messages using an [[software.amazon.awssdk.services.sqs.SqsAsyncClient]].
*/
def createGrouped(queueUrl: String,
settings: SqsAckGroupedSettings,
sqsClient: SqsAsyncClient): Sink[MessageAction, CompletionStage[Done]] =
akka.stream.alpakka.sqs.scaladsl.SqsAckSink
.grouped(queueUrl, settings)(sqsClient)
.mapMaterializedValue(_.toJava)
.asJava
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy