List of usage examples for com.amazonaws.waiters WaiterHandler WaiterHandler
WaiterHandler
From source file:de.taimos.pipeline.aws.cloudformation.EventPrinter.java
License:Apache License
public void waitAndPrintChangeSetEvents(String stack, String changeSet, Waiter<DescribeChangeSetRequest> waiter, long pollIntervalMillis) throws ExecutionException { final BasicFuture<AmazonWebServiceRequest> waitResult = new BasicFuture<>(null); waiter.runAsync(/*from w ww. jav a2 s . co m*/ new WaiterParameters<>( new DescribeChangeSetRequest().withStackName(stack).withChangeSetName(changeSet)), new WaiterHandler() { @Override public void onWaitSuccess(AmazonWebServiceRequest request) { waitResult.completed(request); } @Override public void onWaitFailure(Exception e) { waitResult.failed(e); } }); this.waitAndPrintEvents(stack, pollIntervalMillis, waitResult); }
From source file:de.taimos.pipeline.aws.cloudformation.EventPrinter.java
License:Apache License
public void waitAndPrintStackEvents(String stack, Waiter<DescribeStacksRequest> waiter, long pollIntervalMillis) throws ExecutionException { final BasicFuture<AmazonWebServiceRequest> waitResult = new BasicFuture<>(null); waiter.runAsync(new WaiterParameters<>(new DescribeStacksRequest().withStackName(stack)), new WaiterHandler() { @Override//from w w w.j ava2 s.c o m public void onWaitSuccess(AmazonWebServiceRequest request) { waitResult.completed(request); } @Override public void onWaitFailure(Exception e) { waitResult.failed(e); } }); this.waitAndPrintEvents(stack, pollIntervalMillis, waitResult); }
From source file:org.springframework.integration.aws.metadata.DynamoDbMetaDataStore.java
License:Apache License
@Override public void afterPropertiesSet() throws Exception { try {//from www .j a v a2 s. co m this.table.describe(); createTableLatch.countDown(); return; } catch (ResourceNotFoundException e) { if (logger.isInfoEnabled()) { logger.info("No table '" + this.table.getTableName() + "'. Creating one..."); } } CreateTableRequest createTableRequest = new CreateTableRequest().withTableName(this.table.getTableName()) .withKeySchema(new KeySchemaElement(KEY, KeyType.HASH)) .withAttributeDefinitions(new AttributeDefinition(KEY, ScalarAttributeType.S)) .withProvisionedThroughput(new ProvisionedThroughput(this.readCapacity, this.writeCapacity)); this.dynamoDB.createTableAsync(createTableRequest, new AsyncHandler<CreateTableRequest, CreateTableResult>() { @Override public void onError(Exception e) { logger.error( "Cannot create DynamoDb table: " + DynamoDbMetaDataStore.this.table.getTableName(), e); DynamoDbMetaDataStore.this.createTableLatch.countDown(); } @Override public void onSuccess(CreateTableRequest request, CreateTableResult createTableResult) { Waiter<DescribeTableRequest> waiter = DynamoDbMetaDataStore.this.dynamoDB.waiters() .tableExists(); WaiterParameters<DescribeTableRequest> waiterParameters = new WaiterParameters<>( new DescribeTableRequest(DynamoDbMetaDataStore.this.table.getTableName())) .withPollingStrategy(new PollingStrategy(new MaxAttemptsRetryStrategy(25), new FixedDelayStrategy(1))); waiter.runAsync(waiterParameters, new WaiterHandler<DescribeTableRequest>() { @Override public void onWaitSuccess(DescribeTableRequest request) { DynamoDbMetaDataStore.this.createTableLatch.countDown(); DynamoDbMetaDataStore.this.table.describe(); } @Override public void onWaitFailure(Exception e) { logger.error("Cannot describe DynamoDb table: " + DynamoDbMetaDataStore.this.table.getTableName(), e); DynamoDbMetaDataStore.this.createTableLatch.countDown(); } }); } }); }