com.amazonaws.services.sns
Class AmazonSNSAsyncClient

java.lang.Object
  extended by com.amazonaws.AmazonWebServiceClient
      extended by com.amazonaws.services.sns.AmazonSNSClient
          extended by com.amazonaws.services.sns.AmazonSNSAsyncClient
All Implemented Interfaces:
AmazonSNS, AmazonSNSAsync

public class AmazonSNSAsyncClient
extends AmazonSNSClient
implements AmazonSNSAsync

Client for accessing AmazonSNS. All calls made using this client are non-blocking and will immediately return a Java Future. Callers must use the Future object to determine when the service call has actually completed. Amazon Simple Notification Service


Constructor Summary
AmazonSNSAsyncClient(AWSCredentials awsCredentials)
          Constructs a new asynchronous client to invoke service methods on AmazonSNS using the specified AWS account credentials.
AmazonSNSAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService)
          Constructs a new asynchronous client to invoke service methods on AmazonSNS using the specified AWS account credentials, executor service, and client configuration options.
AmazonSNSAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService)
          Constructs a new asynchronous client to invoke service methods on AmazonSNS using the specified AWS account credentials and executor service.
 
Method Summary
 Future<Void> addPermissionAsync(AddPermissionRequest addPermissionRequest)
           The AddPermission action adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.
 Future<ConfirmSubscriptionResult> confirmSubscriptionAsync(ConfirmSubscriptionRequest confirmSubscriptionRequest)
           The ConfirmSubscription action verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action.
 Future<CreateTopicResult> createTopicAsync(CreateTopicRequest createTopicRequest)
           The CreateTopic action creates a topic to which notifications can be published.
 Future<Void> deleteTopicAsync(DeleteTopicRequest deleteTopicRequest)
           The DeleteTopic action deletes a topic and all its subscriptions.
 ExecutorService getExecutorService()
          Returns the executor service used by this async client to execute requests.
 Future<GetTopicAttributesResult> getTopicAttributesAsync(GetTopicAttributesRequest getTopicAttributesRequest)
           The GetTopicAttribtues action returns all of the properties of a topic customers have created.
 Future<ListSubscriptionsResult> listSubscriptionsAsync(ListSubscriptionsRequest listSubscriptionsRequest)
           The ListSubscriptions action returns a list of the requester's subscriptions.
 Future<ListSubscriptionsByTopicResult> listSubscriptionsByTopicAsync(ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest)
           The ListSubscriptionsByTopic action returns a list of the subscriptions to a specific topic.
 Future<ListTopicsResult> listTopicsAsync(ListTopicsRequest listTopicsRequest)
           The ListTopics action returns a list of the requester's topics.
 Future<PublishResult> publishAsync(PublishRequest publishRequest)
           The Publish action sends a message to all of a topic's subscribed endpoints.
 Future<Void> removePermissionAsync(RemovePermissionRequest removePermissionRequest)
           The RemovePermission action removes a statement from a topic's access control policy.
 Future<Void> setTopicAttributesAsync(SetTopicAttributesRequest setTopicAttributesRequest)
           The SetTopicAttributes action allows a topic owner to set an attribute of the topic to a new value.
 Future<SubscribeResult> subscribeAsync(SubscribeRequest subscribeRequest)
           The Subscribe action prepares to subscribe an endpoint by sending the endpoint a confirmation message.
 Future<Void> unsubscribeAsync(UnsubscribeRequest unsubscribeRequest)
           The Unsubscribe action deletes a subscription.
 
Methods inherited from class com.amazonaws.services.sns.AmazonSNSClient
addPermission, confirmSubscription, createTopic, deleteTopic, getTopicAttributes, listSubscriptions, listSubscriptions, listSubscriptionsByTopic, listTopics, listTopics, publish, removePermission, setTopicAttributes, subscribe, unsubscribe
 
Methods inherited from class com.amazonaws.AmazonWebServiceClient
setEndpoint
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.amazonaws.services.sns.AmazonSNS
addPermission, confirmSubscription, createTopic, deleteTopic, getTopicAttributes, listSubscriptions, listSubscriptions, listSubscriptionsByTopic, listTopics, listTopics, publish, removePermission, setEndpoint, setTopicAttributes, subscribe, unsubscribe
 

Constructor Detail

AmazonSNSAsyncClient

public AmazonSNSAsyncClient(AWSCredentials awsCredentials)
Constructs a new asynchronous client to invoke service methods on AmazonSNS using the specified AWS account credentials. Default client settings will be used, and a default cached thread pool will be created for executing the asynchronous tasks.

All calls made using this new client object are non-blocking, and will immediately return a Java Future object that the caller can later check to see if the service call has actually completed.

Parameters:
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.

AmazonSNSAsyncClient

public AmazonSNSAsyncClient(AWSCredentials awsCredentials,
                            ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on AmazonSNS using the specified AWS account credentials and executor service. Default client settings will be used.

All calls made using this new client object are non-blocking, and will immediately return a Java Future object that the caller can later check to see if the service call has actually completed.

Parameters:
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
executorService - The executor service by which all asynchronous requests will be executed.

AmazonSNSAsyncClient

public AmazonSNSAsyncClient(AWSCredentials awsCredentials,
                            ClientConfiguration clientConfiguration,
                            ExecutorService executorService)
Constructs a new asynchronous client to invoke service methods on AmazonSNS using the specified AWS account credentials, executor service, and client configuration options.

All calls made using this new client object are non-blocking, and will immediately return a Java Future object that the caller can later check to see if the service call has actually completed.

Parameters:
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
executorService - The executor service by which all asynchronous requests will be executed.
Method Detail

getExecutorService

public ExecutorService getExecutorService()
Returns the executor service used by this async client to execute requests.

Returns:
The executor service used by this async client to execute requests.

confirmSubscriptionAsync

public Future<ConfirmSubscriptionResult> confirmSubscriptionAsync(ConfirmSubscriptionRequest confirmSubscriptionRequest)
                                                           throws AmazonServiceException,
                                                                  AmazonClientException

The ConfirmSubscription action verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe flag is set to "true".

Specified by:
confirmSubscriptionAsync in interface AmazonSNSAsync
Parameters:
confirmSubscriptionRequest - Container for the necessary parameters to execute the ConfirmSubscription operation on AmazonSNS.
Returns:
A Java Future object containing the response from the ConfirmSubscription service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

getTopicAttributesAsync

public Future<GetTopicAttributesResult> getTopicAttributesAsync(GetTopicAttributesRequest getTopicAttributesRequest)
                                                         throws AmazonServiceException,
                                                                AmazonClientException

The GetTopicAttribtues action returns all of the properties of a topic customers have created. Topic properties returned might differ based on the authorization of the user.

Specified by:
getTopicAttributesAsync in interface AmazonSNSAsync
Parameters:
getTopicAttributesRequest - Container for the necessary parameters to execute the GetTopicAttributes operation on AmazonSNS.
Returns:
A Java Future object containing the response from the GetTopicAttributes service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

subscribeAsync

public Future<SubscribeResult> subscribeAsync(SubscribeRequest subscribeRequest)
                                       throws AmazonServiceException,
                                              AmazonClientException

The Subscribe action prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for twenty-four hours.

Specified by:
subscribeAsync in interface AmazonSNSAsync
Parameters:
subscribeRequest - Container for the necessary parameters to execute the Subscribe operation on AmazonSNS.
Returns:
A Java Future object containing the response from the Subscribe service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

setTopicAttributesAsync

public Future<Void> setTopicAttributesAsync(SetTopicAttributesRequest setTopicAttributesRequest)
                                     throws AmazonServiceException,
                                            AmazonClientException

The SetTopicAttributes action allows a topic owner to set an attribute of the topic to a new value.

Specified by:
setTopicAttributesAsync in interface AmazonSNSAsync
Parameters:
setTopicAttributesRequest - Container for the necessary parameters to execute the SetTopicAttributes operation on AmazonSNS.
Returns:
A Java Future object containing the response from the SetTopicAttributes service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

deleteTopicAsync

public Future<Void> deleteTopicAsync(DeleteTopicRequest deleteTopicRequest)
                              throws AmazonServiceException,
                                     AmazonClientException

The DeleteTopic action deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist will not result in an error.

Specified by:
deleteTopicAsync in interface AmazonSNSAsync
Parameters:
deleteTopicRequest - Container for the necessary parameters to execute the DeleteTopic operation on AmazonSNS.
Returns:
A Java Future object containing the response from the DeleteTopic service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

removePermissionAsync

public Future<Void> removePermissionAsync(RemovePermissionRequest removePermissionRequest)
                                   throws AmazonServiceException,
                                          AmazonClientException

The RemovePermission action removes a statement from a topic's access control policy.

Specified by:
removePermissionAsync in interface AmazonSNSAsync
Parameters:
removePermissionRequest - Container for the necessary parameters to execute the RemovePermission operation on AmazonSNS.
Returns:
A Java Future object containing the response from the RemovePermission service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

listSubscriptionsAsync

public Future<ListSubscriptionsResult> listSubscriptionsAsync(ListSubscriptionsRequest listSubscriptionsRequest)
                                                       throws AmazonServiceException,
                                                              AmazonClientException

The ListSubscriptions action returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptions call to get further results.

Specified by:
listSubscriptionsAsync in interface AmazonSNSAsync
Parameters:
listSubscriptionsRequest - Container for the necessary parameters to execute the ListSubscriptions operation on AmazonSNS.
Returns:
A Java Future object containing the response from the ListSubscriptions service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

addPermissionAsync

public Future<Void> addPermissionAsync(AddPermissionRequest addPermissionRequest)
                                throws AmazonServiceException,
                                       AmazonClientException

The AddPermission action adds a statement to a topic's access control policy, granting access for the specified AWS accounts to the specified actions.

Specified by:
addPermissionAsync in interface AmazonSNSAsync
Parameters:
addPermissionRequest - Container for the necessary parameters to execute the AddPermission operation on AmazonSNS.
Returns:
A Java Future object containing the response from the AddPermission service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

createTopicAsync

public Future<CreateTopicResult> createTopicAsync(CreateTopicRequest createTopicRequest)
                                           throws AmazonServiceException,
                                                  AmazonClientException

The CreateTopic action creates a topic to which notifications can be published. Users can create at most 25 topics. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN will be returned without creating a new topic.

Specified by:
createTopicAsync in interface AmazonSNSAsync
Parameters:
createTopicRequest - Container for the necessary parameters to execute the CreateTopic operation on AmazonSNS.
Returns:
A Java Future object containing the response from the CreateTopic service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

listTopicsAsync

public Future<ListTopicsResult> listTopicsAsync(ListTopicsRequest listTopicsRequest)
                                         throws AmazonServiceException,
                                                AmazonClientException

The ListTopics action returns a list of the requester's topics. Each call returns a limited list of topics. If there are more topics, a NextToken is also returned. Use the NextToken parameter in a new ListTopics call to get further results.

Specified by:
listTopicsAsync in interface AmazonSNSAsync
Parameters:
listTopicsRequest - Container for the necessary parameters to execute the ListTopics operation on AmazonSNS.
Returns:
A Java Future object containing the response from the ListTopics service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

unsubscribeAsync

public Future<Void> unsubscribeAsync(UnsubscribeRequest unsubscribeRequest)
                              throws AmazonServiceException,
                                     AmazonClientException

The Unsubscribe action deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the its topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe request was unintended.

Specified by:
unsubscribeAsync in interface AmazonSNSAsync
Parameters:
unsubscribeRequest - Container for the necessary parameters to execute the Unsubscribe operation on AmazonSNS.
Returns:
A Java Future object containing the response from the Unsubscribe service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

listSubscriptionsByTopicAsync

public Future<ListSubscriptionsByTopicResult> listSubscriptionsByTopicAsync(ListSubscriptionsByTopicRequest listSubscriptionsByTopicRequest)
                                                                     throws AmazonServiceException,
                                                                            AmazonClientException

The ListSubscriptionsByTopic action returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions. If there are more subscriptions, a NextToken is also returned. Use the NextToken parameter in a new ListSubscriptionsByTopic call to get further results.

Specified by:
listSubscriptionsByTopicAsync in interface AmazonSNSAsync
Parameters:
listSubscriptionsByTopicRequest - Container for the necessary parameters to execute the ListSubscriptionsByTopic operation on AmazonSNS.
Returns:
A Java Future object containing the response from the ListSubscriptionsByTopic service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.

publishAsync

public Future<PublishResult> publishAsync(PublishRequest publishRequest)
                                   throws AmazonServiceException,
                                          AmazonClientException

The Publish action sends a message to all of a topic's subscribed endpoints. When a messageId is returned, the message has been saved and Amazon SNS will attempt to deliver it to the topic's subscribers shortly. The format of the outgoing message to each subscribed endpoint depends on the notification protocol selected.

Specified by:
publishAsync in interface AmazonSNSAsync
Parameters:
publishRequest - Container for the necessary parameters to execute the Publish operation on AmazonSNS.
Returns:
A Java Future object containing the response from the Publish service method, as returned by AmazonSNS.
Throws:
AmazonClientException - If any internal errors are encountered inside the client while attempting to make the request or handle the response. For example if a network connection is not available.
AmazonServiceException - If an error response is returned by AmazonSNS indicating either a problem with the data in the request, or a server side issue.


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.