com.amazonaws.services.dax.AmazonDaxAsyncClient Maven / Gradle / Ivy
/*
* Copyright 2017-2022 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.dax;
import javax.annotation.Generated;
import com.amazonaws.services.dax.model.*;
import com.amazonaws.client.AwsAsyncClientParams;
import com.amazonaws.annotation.ThreadSafe;
import java.util.concurrent.ExecutorService;
/**
* Client for accessing Amazon DAX 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.
*
*
* DAX is a managed caching service engineered for Amazon DynamoDB. DAX dramatically speeds up database reads by caching
* frequently-accessed data from DynamoDB, so applications can access that data with sub-millisecond latency. You can
* create a DAX cluster easily, using the AWS Management Console. With a few simple modifications to your code, your
* application can begin taking advantage of the DAX cluster and realize significant improvements in read performance.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonDaxAsyncClient extends AmazonDaxClient implements AmazonDaxAsync {
private static final int DEFAULT_THREAD_POOL_SIZE = 50;
private final java.util.concurrent.ExecutorService executorService;
public static AmazonDaxAsyncClientBuilder asyncBuilder() {
return AmazonDaxAsyncClientBuilder.standard();
}
/**
* Constructs a new asynchronous client to invoke service methods on Amazon DAX using the specified parameters.
*
* @param asyncClientParams
* Object providing client parameters.
*/
AmazonDaxAsyncClient(AwsAsyncClientParams asyncClientParams) {
this(asyncClientParams, false);
}
/**
* Constructs a new asynchronous client to invoke service methods on Amazon DAX using the specified parameters.
*
* @param asyncClientParams
* Object providing client parameters.
* @param endpointDiscoveryEnabled
* true will enable endpoint discovery if the service supports it.
*/
AmazonDaxAsyncClient(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 createClusterAsync(CreateClusterRequest request) {
return createClusterAsync(request, null);
}
@Override
public java.util.concurrent.Future createClusterAsync(final CreateClusterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateClusterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateClusterResult call() throws Exception {
CreateClusterResult result = null;
try {
result = executeCreateCluster(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 createParameterGroupAsync(CreateParameterGroupRequest request) {
return createParameterGroupAsync(request, null);
}
@Override
public java.util.concurrent.Future createParameterGroupAsync(final CreateParameterGroupRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateParameterGroupRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateParameterGroupResult call() throws Exception {
CreateParameterGroupResult result = null;
try {
result = executeCreateParameterGroup(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 createSubnetGroupAsync(CreateSubnetGroupRequest request) {
return createSubnetGroupAsync(request, null);
}
@Override
public java.util.concurrent.Future createSubnetGroupAsync(final CreateSubnetGroupRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final CreateSubnetGroupRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public CreateSubnetGroupResult call() throws Exception {
CreateSubnetGroupResult result = null;
try {
result = executeCreateSubnetGroup(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 decreaseReplicationFactorAsync(DecreaseReplicationFactorRequest request) {
return decreaseReplicationFactorAsync(request, null);
}
@Override
public java.util.concurrent.Future decreaseReplicationFactorAsync(final DecreaseReplicationFactorRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DecreaseReplicationFactorRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DecreaseReplicationFactorResult call() throws Exception {
DecreaseReplicationFactorResult result = null;
try {
result = executeDecreaseReplicationFactor(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 deleteClusterAsync(DeleteClusterRequest request) {
return deleteClusterAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteClusterAsync(final DeleteClusterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteClusterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteClusterResult call() throws Exception {
DeleteClusterResult result = null;
try {
result = executeDeleteCluster(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 deleteParameterGroupAsync(DeleteParameterGroupRequest request) {
return deleteParameterGroupAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteParameterGroupAsync(final DeleteParameterGroupRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteParameterGroupRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteParameterGroupResult call() throws Exception {
DeleteParameterGroupResult result = null;
try {
result = executeDeleteParameterGroup(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 deleteSubnetGroupAsync(DeleteSubnetGroupRequest request) {
return deleteSubnetGroupAsync(request, null);
}
@Override
public java.util.concurrent.Future deleteSubnetGroupAsync(final DeleteSubnetGroupRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DeleteSubnetGroupRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DeleteSubnetGroupResult call() throws Exception {
DeleteSubnetGroupResult result = null;
try {
result = executeDeleteSubnetGroup(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 describeClustersAsync(DescribeClustersRequest request) {
return describeClustersAsync(request, null);
}
@Override
public java.util.concurrent.Future describeClustersAsync(final DescribeClustersRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeClustersRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeClustersResult call() throws Exception {
DescribeClustersResult result = null;
try {
result = executeDescribeClusters(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 describeDefaultParametersAsync(DescribeDefaultParametersRequest request) {
return describeDefaultParametersAsync(request, null);
}
@Override
public java.util.concurrent.Future describeDefaultParametersAsync(final DescribeDefaultParametersRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeDefaultParametersRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeDefaultParametersResult call() throws Exception {
DescribeDefaultParametersResult result = null;
try {
result = executeDescribeDefaultParameters(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 describeEventsAsync(DescribeEventsRequest request) {
return describeEventsAsync(request, null);
}
@Override
public java.util.concurrent.Future describeEventsAsync(final DescribeEventsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeEventsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeEventsResult call() throws Exception {
DescribeEventsResult result = null;
try {
result = executeDescribeEvents(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 describeParameterGroupsAsync(DescribeParameterGroupsRequest request) {
return describeParameterGroupsAsync(request, null);
}
@Override
public java.util.concurrent.Future describeParameterGroupsAsync(final DescribeParameterGroupsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeParameterGroupsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeParameterGroupsResult call() throws Exception {
DescribeParameterGroupsResult result = null;
try {
result = executeDescribeParameterGroups(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 describeParametersAsync(DescribeParametersRequest request) {
return describeParametersAsync(request, null);
}
@Override
public java.util.concurrent.Future describeParametersAsync(final DescribeParametersRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeParametersRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeParametersResult call() throws Exception {
DescribeParametersResult result = null;
try {
result = executeDescribeParameters(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 describeSubnetGroupsAsync(DescribeSubnetGroupsRequest request) {
return describeSubnetGroupsAsync(request, null);
}
@Override
public java.util.concurrent.Future describeSubnetGroupsAsync(final DescribeSubnetGroupsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final DescribeSubnetGroupsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public DescribeSubnetGroupsResult call() throws Exception {
DescribeSubnetGroupsResult result = null;
try {
result = executeDescribeSubnetGroups(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 increaseReplicationFactorAsync(IncreaseReplicationFactorRequest request) {
return increaseReplicationFactorAsync(request, null);
}
@Override
public java.util.concurrent.Future increaseReplicationFactorAsync(final IncreaseReplicationFactorRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final IncreaseReplicationFactorRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public IncreaseReplicationFactorResult call() throws Exception {
IncreaseReplicationFactorResult result = null;
try {
result = executeIncreaseReplicationFactor(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 listTagsAsync(ListTagsRequest request) {
return listTagsAsync(request, null);
}
@Override
public java.util.concurrent.Future listTagsAsync(final ListTagsRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final ListTagsRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public ListTagsResult call() throws Exception {
ListTagsResult result = null;
try {
result = executeListTags(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 rebootNodeAsync(RebootNodeRequest request) {
return rebootNodeAsync(request, null);
}
@Override
public java.util.concurrent.Future rebootNodeAsync(final RebootNodeRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final RebootNodeRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public RebootNodeResult call() throws Exception {
RebootNodeResult result = null;
try {
result = executeRebootNode(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 updateClusterAsync(UpdateClusterRequest request) {
return updateClusterAsync(request, null);
}
@Override
public java.util.concurrent.Future updateClusterAsync(final UpdateClusterRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateClusterRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateClusterResult call() throws Exception {
UpdateClusterResult result = null;
try {
result = executeUpdateCluster(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 updateParameterGroupAsync(UpdateParameterGroupRequest request) {
return updateParameterGroupAsync(request, null);
}
@Override
public java.util.concurrent.Future updateParameterGroupAsync(final UpdateParameterGroupRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateParameterGroupRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateParameterGroupResult call() throws Exception {
UpdateParameterGroupResult result = null;
try {
result = executeUpdateParameterGroup(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 updateSubnetGroupAsync(UpdateSubnetGroupRequest request) {
return updateSubnetGroupAsync(request, null);
}
@Override
public java.util.concurrent.Future updateSubnetGroupAsync(final UpdateSubnetGroupRequest request,
final com.amazonaws.handlers.AsyncHandler asyncHandler) {
final UpdateSubnetGroupRequest finalRequest = beforeClientExecution(request);
return executorService.submit(new java.util.concurrent.Callable() {
@Override
public UpdateSubnetGroupResult call() throws Exception {
UpdateSubnetGroupResult result = null;
try {
result = executeUpdateSubnetGroup(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();
}
}