Giter Club home page Giter Club logo

Comments (6)

rleibman avatar rleibman commented on July 18, 2024 2

This is what I'm doing in Scala using the async clients. I imagine you could do something similar in java.

def whileInProgress[Request <: AmazonWebServiceRequest, Response](
    method: Request => java.util.concurrent.CompletableFuture[Response],
    request: Request,
    isInProgress: Response ⇒ Boolean,
    duration: Duration = 30 seconds): Future[Response] = {
    def loop(): Future[Response] = {
      val fut = method(request).toScala
      fut.flatMap { response =>
        if (isInProgress(response)) {
          Thread.sleep(duration.toMillis)
          loop
        }
        fut
      }
    }

    loop
  }

from aws-sdk-java-v2.

yellowstonesoftware avatar yellowstonesoftware commented on July 18, 2024 1

Is this ever going to be implemented?

from aws-sdk-java-v2.

zoewangg avatar zoewangg commented on July 18, 2024 1

Hey all, we have released waiters in 2.15.0.

Below is the sample code of how to use it:

  • sync waiter:
DynamoDbClient dynamo = DynamoDbClient.create();
DynamoDbWaiter waiter = dynamo.waiter();

WaiterResponse<DescribeTableResponse> waiterResponse =
   waiter.waitUntilTableExists(r -> r.tableName("myTable"));

// print out the matched response with a tableStatus of ACTIVE
waiterResponse.matched().response().ifPresent(System.out::println);
  • async waiter
DynamoDbAsyncClient asyncDynamo = DynamoDbAsyncClient.create();
DynamoDbAsyncWaiter asyncWaiter = asyncDynamo.waiter();

CompletableFuture<WaiterResponse<DescribeTableResponse>> waiterResponse =
                    asyncWaiter.waitUntilTableNotExists(r -> r.tableName("myTable"));

waiterResponse.whenComplete((r, t) -> {
   if (t == null) {
      // print out the matched ResourceNotFoundException
      r.matched().exception().ifPresent(System.out::println);
   }
}).join();

To learn more, check out our blog post and developer guide:

https://aws.amazon.com/blogs/developer/using-waiters-in-the-aws-sdk-for-java-2-x/
https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/waiters.html

Let us know if you have any feedback! 😃

from aws-sdk-java-v2.

spfink avatar spfink commented on July 18, 2024

Feature Request from v1: aws/aws-sdk-java#815

from aws-sdk-java-v2.

millems avatar millems commented on July 18, 2024

Yes. Unfortunately, we cannot provide a date.

from aws-sdk-java-v2.

cartwrightian avatar cartwrightian commented on July 18, 2024

all works well, many thanks

from aws-sdk-java-v2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.