Java源码示例:software.amazon.awssdk.services.dynamodb.model.ResourceInUseException

示例1
public static boolean createTableIfNotExists(final DynamoDbClient dynamo, final String tableName) {
    try {
        dynamo.createTable(createTableRequest(tableName));
        return waitUntilTableActive(dynamo, tableName);
    } catch (ResourceInUseException e) {
        LOG.info("Reused existing table");
    }
    return true;
}
 
示例2
public static CompletableFuture<Boolean> createTableIfNotExistsAsync(final DynamoDbAsyncClient dynamo, String table) {
    return dynamo.createTable(DynamoDBUtils.createTableRequest(table))
            .thenCompose(resp -> DynamoDBUtils.waitUntilTableActiveAsync(dynamo, table))
            .exceptionally(th -> {
                if (th.getCause() instanceof ResourceInUseException) {
                    LOG.info("Reused existing table");
                    return true;
                } else {
                    LOG.error("Failed table creation", th);
                    return false;
                }
            });
}
 
示例3
/**
 * Creates the table and ignores any errors if it already exists.
 * @param dynamo The Dynamo client to use.
 * @param createTableRequest The create table request.
 * @return True if created, false otherwise.
 */
public static boolean createTableIfNotExists(final DynamoDbClient dynamo, final CreateTableRequest createTableRequest) {
    try {
        dynamo.createTable(createTableRequest);
        return true;
    } catch (final ResourceInUseException e) {
        if (log.isTraceEnabled()) {
            log.trace("Table " + createTableRequest.tableName() + " already exists", e);
        }
    }
    return false;
}