Class AWSMarketplaceMeteringAsyncClient

  • All Implemented Interfaces:
    AWSMarketplaceMetering, AWSMarketplaceMeteringAsync

    @ThreadSafe
    public class AWSMarketplaceMeteringAsyncClient
    extends AWSMarketplaceMeteringClient
    implements AWSMarketplaceMeteringAsync
    Interface for accessing AWSMarketplace Metering asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an AsyncHandler can be used to receive notification when an asynchronous operation completes.

    AWS Marketplace Metering Service

    This reference provides descriptions of the low-level AWS Marketplace Metering Service API.

    AWS Marketplace sellers can use this API to submit usage data for custom usage dimensions.

    Submitting Metering Records

    • MeterUsage- Submits the metering record for a Marketplace product.

    • Constructor Detail

      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient()
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(ClientConfiguration clientConfiguration)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

        Parameters:
        clientConfiguration - The client configuration options controlling how this client connects to AWSMarketplace Metering (ex: proxy settings, retry counts, etc).
        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentials awsCredentials)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the specified AWS account credentials.

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        See Also:
        Executors.newFixedThreadPool(int)
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentials awsCredentials,
                                                 ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the specified AWS account credentials and executor service. Default client settings will be used.
        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.
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentials awsCredentials,
                                                 ClientConfiguration clientConfiguration,
                                                 ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the specified AWS account credentials, executor service, and client configuration options.
        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.
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentialsProvider awsCredentialsProvider)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the specified AWS account credentials provider. Default client settings will be used.

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        See Also:
        Executors.newFixedThreadPool(int)
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                                 ClientConfiguration clientConfiguration)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the provided AWS account credentials provider and client configuration options.

        Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                                 ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the specified AWS account credentials provider and executor service. Default client settings will be used.
        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        executorService - The executor service by which all asynchronous requests will be executed.
      • AWSMarketplaceMeteringAsyncClient

        public AWSMarketplaceMeteringAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                                 ClientConfiguration clientConfiguration,
                                                 ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on AWSMarketplace Metering using the specified AWS account credentials provider, executor service, and client configuration options.
        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests 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 client to execute async requests.
        Returns:
        The executor service used by this client to execute async requests.
      • meterUsageAsync

        public Future<MeterUsageResult> meterUsageAsync​(MeterUsageRequest request,
                                                        AsyncHandler<MeterUsageRequest,​MeterUsageResult> asyncHandler)
        Description copied from interface: AWSMarketplaceMeteringAsync

        API to emit metering records. For identical requests, the API is idempotent. It simply returns the metering record ID.

        Specified by:
        meterUsageAsync in interface AWSMarketplaceMeteringAsync
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the MeterUsage operation returned by the service.
      • shutdown

        public void shutdown()
        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 getExecutorService().shutdown() followed by getExecutorService().awaitTermination() prior to calling this method.
        Specified by:
        shutdown in interface AWSMarketplaceMetering
        Overrides:
        shutdown in class AmazonWebServiceClient