Comments (6)
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.
Is this ever going to be implemented?
from aws-sdk-java-v2.
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.
Feature Request from v1: aws/aws-sdk-java#815
from aws-sdk-java-v2.
Yes. Unfortunately, we cannot provide a date.
from aws-sdk-java-v2.
all works well, many thanks
from aws-sdk-java-v2.
Related Issues (20)
- Getting occasional Crc32MismatchException using DynamoDbClient HOT 5
- Thread locals are lost after the control is returned from SDK methods to the client code HOT 1
- Parse QueryParams when building S3Uri from AWS CLI Style format HOT 3
- InstanceProfileCredentialsProvider unable to refresh/recover from network problems at time of credential cache refresh HOT 2
- Stuck on `java.util.concurrent.Future#get(long, java.util.concurrent.TimeUnit)` when using `java.util.concurrent.Executors#newVirtualThreadPerTaskExecutor` HOT 2
- Equivalent of `com.amazonaws.util.json.Jackson` in sdk v2 HOT 5
- Regression between SDK v1 and v2 around client side encryption HOT 2
- Version 2.25.26 Could not parse POM HOT 1
- S3 Transfer Manager created using S3Aysnc Client with CRT Builder holding significant memory even after downloads are completed
- Setting metadata and retention with UploadDirectoryRequest
- Don't download 200MB of JS for a JavaDoc search feature that most people don't use HOT 1
- Unshaded dependencies in AWS SDK HOT 9
- S3 Presign Head method HOT 2
- S3 CRT Client GetObject Request with Invalid Range crashes JVM with SIGSEGV HOT 1
- ApiName does not implement equals HOT 2
- assumeRoleWithWebIdentity doesn't work from java API but does work from the cli interface HOT 2
- Allow RetryStrategy to use information from RetryPolicyContext in BackoffStrategy HOT 3
- Unclosed pipe/a_inode file descriptors when using AWS SDK V2 HOT 2
- UrlConnectionHttpClient returns null messages when S3.putObject returns 403 in some cases HOT 1
- S3 Clients are leaving behind open PIPE file descriptors HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-sdk-java-v2.