/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.qldb; import javax.annotation.Generated; import com.amazonaws.services.qldb.model.*; import com.amazonaws.client.AwsAsyncClientParams; import com.amazonaws.annotation.ThreadSafe; import java.util.concurrent.ExecutorService; /** * Client for accessing QLDB asynchronously. Each asynchronous method will return a Java Future object representing the * asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive notification when an * asynchronous operation completes. *

*

* The resource management API for Amazon QLDB *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonQLDBAsyncClient extends AmazonQLDBClient implements AmazonQLDBAsync { private static final int DEFAULT_THREAD_POOL_SIZE = 50; private final java.util.concurrent.ExecutorService executorService; public static AmazonQLDBAsyncClientBuilder asyncBuilder() { return AmazonQLDBAsyncClientBuilder.standard(); } /** * Constructs a new asynchronous client to invoke service methods on QLDB using the specified parameters. * * @param asyncClientParams * Object providing client parameters. */ AmazonQLDBAsyncClient(AwsAsyncClientParams asyncClientParams) { this(asyncClientParams, false); } /** * Constructs a new asynchronous client to invoke service methods on QLDB using the specified parameters. * * @param asyncClientParams * Object providing client parameters. * @param endpointDiscoveryEnabled * true will enable endpoint discovery if the service supports it. */ AmazonQLDBAsyncClient(AwsAsyncClientParams asyncClientParams, boolean endpointDiscoveryEnabled) { super(asyncClientParams, endpointDiscoveryEnabled); this.executorService = asyncClientParams.getExecutor(); } /** * Returns the executor service used by this client to execute async requests. * * @return The executor service used by this client to execute async requests. */ public ExecutorService getExecutorService() { return executorService; } @Override public java.util.concurrent.Future cancelJournalKinesisStreamAsync(CancelJournalKinesisStreamRequest request) { return cancelJournalKinesisStreamAsync(request, null); } @Override public java.util.concurrent.Future cancelJournalKinesisStreamAsync(final CancelJournalKinesisStreamRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CancelJournalKinesisStreamRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CancelJournalKinesisStreamResult call() throws Exception { CancelJournalKinesisStreamResult result = null; try { result = executeCancelJournalKinesisStream(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future createLedgerAsync(CreateLedgerRequest request) { return createLedgerAsync(request, null); } @Override public java.util.concurrent.Future createLedgerAsync(final CreateLedgerRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final CreateLedgerRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public CreateLedgerResult call() throws Exception { CreateLedgerResult result = null; try { result = executeCreateLedger(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future deleteLedgerAsync(DeleteLedgerRequest request) { return deleteLedgerAsync(request, null); } @Override public java.util.concurrent.Future deleteLedgerAsync(final DeleteLedgerRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DeleteLedgerRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DeleteLedgerResult call() throws Exception { DeleteLedgerResult result = null; try { result = executeDeleteLedger(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future describeJournalKinesisStreamAsync(DescribeJournalKinesisStreamRequest request) { return describeJournalKinesisStreamAsync(request, null); } @Override public java.util.concurrent.Future describeJournalKinesisStreamAsync(final DescribeJournalKinesisStreamRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DescribeJournalKinesisStreamRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeJournalKinesisStreamResult call() throws Exception { DescribeJournalKinesisStreamResult result = null; try { result = executeDescribeJournalKinesisStream(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future describeJournalS3ExportAsync(DescribeJournalS3ExportRequest request) { return describeJournalS3ExportAsync(request, null); } @Override public java.util.concurrent.Future describeJournalS3ExportAsync(final DescribeJournalS3ExportRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DescribeJournalS3ExportRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeJournalS3ExportResult call() throws Exception { DescribeJournalS3ExportResult result = null; try { result = executeDescribeJournalS3Export(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future describeLedgerAsync(DescribeLedgerRequest request) { return describeLedgerAsync(request, null); } @Override public java.util.concurrent.Future describeLedgerAsync(final DescribeLedgerRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final DescribeLedgerRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public DescribeLedgerResult call() throws Exception { DescribeLedgerResult result = null; try { result = executeDescribeLedger(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future exportJournalToS3Async(ExportJournalToS3Request request) { return exportJournalToS3Async(request, null); } @Override public java.util.concurrent.Future exportJournalToS3Async(final ExportJournalToS3Request request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ExportJournalToS3Request finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ExportJournalToS3Result call() throws Exception { ExportJournalToS3Result result = null; try { result = executeExportJournalToS3(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getBlockAsync(GetBlockRequest request) { return getBlockAsync(request, null); } @Override public java.util.concurrent.Future getBlockAsync(final GetBlockRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetBlockRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetBlockResult call() throws Exception { GetBlockResult result = null; try { result = executeGetBlock(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getDigestAsync(GetDigestRequest request) { return getDigestAsync(request, null); } @Override public java.util.concurrent.Future getDigestAsync(final GetDigestRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetDigestRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetDigestResult call() throws Exception { GetDigestResult result = null; try { result = executeGetDigest(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future getRevisionAsync(GetRevisionRequest request) { return getRevisionAsync(request, null); } @Override public java.util.concurrent.Future getRevisionAsync(final GetRevisionRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final GetRevisionRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public GetRevisionResult call() throws Exception { GetRevisionResult result = null; try { result = executeGetRevision(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listJournalKinesisStreamsForLedgerAsync( ListJournalKinesisStreamsForLedgerRequest request) { return listJournalKinesisStreamsForLedgerAsync(request, null); } @Override public java.util.concurrent.Future listJournalKinesisStreamsForLedgerAsync( final ListJournalKinesisStreamsForLedgerRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListJournalKinesisStreamsForLedgerRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListJournalKinesisStreamsForLedgerResult call() throws Exception { ListJournalKinesisStreamsForLedgerResult result = null; try { result = executeListJournalKinesisStreamsForLedger(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listJournalS3ExportsAsync(ListJournalS3ExportsRequest request) { return listJournalS3ExportsAsync(request, null); } @Override public java.util.concurrent.Future listJournalS3ExportsAsync(final ListJournalS3ExportsRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListJournalS3ExportsRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListJournalS3ExportsResult call() throws Exception { ListJournalS3ExportsResult result = null; try { result = executeListJournalS3Exports(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listJournalS3ExportsForLedgerAsync(ListJournalS3ExportsForLedgerRequest request) { return listJournalS3ExportsForLedgerAsync(request, null); } @Override public java.util.concurrent.Future listJournalS3ExportsForLedgerAsync( final ListJournalS3ExportsForLedgerRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListJournalS3ExportsForLedgerRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListJournalS3ExportsForLedgerResult call() throws Exception { ListJournalS3ExportsForLedgerResult result = null; try { result = executeListJournalS3ExportsForLedger(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listLedgersAsync(ListLedgersRequest request) { return listLedgersAsync(request, null); } @Override public java.util.concurrent.Future listLedgersAsync(final ListLedgersRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListLedgersRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListLedgersResult call() throws Exception { ListLedgersResult result = null; try { result = executeListLedgers(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest request) { return listTagsForResourceAsync(request, null); } @Override public java.util.concurrent.Future listTagsForResourceAsync(final ListTagsForResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final ListTagsForResourceRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public ListTagsForResourceResult call() throws Exception { ListTagsForResourceResult result = null; try { result = executeListTagsForResource(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future streamJournalToKinesisAsync(StreamJournalToKinesisRequest request) { return streamJournalToKinesisAsync(request, null); } @Override public java.util.concurrent.Future streamJournalToKinesisAsync(final StreamJournalToKinesisRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final StreamJournalToKinesisRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public StreamJournalToKinesisResult call() throws Exception { StreamJournalToKinesisResult result = null; try { result = executeStreamJournalToKinesis(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future tagResourceAsync(TagResourceRequest request) { return tagResourceAsync(request, null); } @Override public java.util.concurrent.Future tagResourceAsync(final TagResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final TagResourceRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public TagResourceResult call() throws Exception { TagResourceResult result = null; try { result = executeTagResource(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future untagResourceAsync(UntagResourceRequest request) { return untagResourceAsync(request, null); } @Override public java.util.concurrent.Future untagResourceAsync(final UntagResourceRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UntagResourceRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UntagResourceResult call() throws Exception { UntagResourceResult result = null; try { result = executeUntagResource(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateLedgerAsync(UpdateLedgerRequest request) { return updateLedgerAsync(request, null); } @Override public java.util.concurrent.Future updateLedgerAsync(final UpdateLedgerRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateLedgerRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateLedgerResult call() throws Exception { UpdateLedgerResult result = null; try { result = executeUpdateLedger(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } @Override public java.util.concurrent.Future updateLedgerPermissionsModeAsync(UpdateLedgerPermissionsModeRequest request) { return updateLedgerPermissionsModeAsync(request, null); } @Override public java.util.concurrent.Future updateLedgerPermissionsModeAsync(final UpdateLedgerPermissionsModeRequest request, final com.amazonaws.handlers.AsyncHandler asyncHandler) { final UpdateLedgerPermissionsModeRequest finalRequest = beforeClientExecution(request); return executorService.submit(new java.util.concurrent.Callable() { @Override public UpdateLedgerPermissionsModeResult call() throws Exception { UpdateLedgerPermissionsModeResult result = null; try { result = executeUpdateLedgerPermissionsMode(finalRequest); } catch (Exception ex) { if (asyncHandler != null) { asyncHandler.onError(ex); } throw ex; } if (asyncHandler != null) { asyncHandler.onSuccess(finalRequest, result); } return result; } }); } /** * Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending * asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should * call {@code getExecutorService().shutdown()} followed by {@code getExecutorService().awaitTermination()} prior to * calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } }