Interface NotificationDataPlaneAsync

  • All Superinterfaces:
    AutoCloseable
    All Known Implementing Classes:
    NotificationDataPlaneAsyncClient

    @Generated(value="OracleSDKGenerator",
               comments="API Version: 20181201")
    public interface NotificationDataPlaneAsync
    extends AutoCloseable
    Use the Notifications API to broadcast messages to distributed components by topic, using a publish-subscribe pattern.

    For information about managing topics, subscriptions, and messages, see Notifications Overview.

    • Method Detail

      • refreshClient

        void refreshClient()
        Rebuilds the client from scratch.

        Useful to refresh certificates.

      • setEndpoint

        void setEndpoint​(String endpoint)
        Sets the endpoint to call (ex, https://www.example.com).
        Parameters:
        endpoint - The endpoint of the serice.
      • getEndpoint

        String getEndpoint()
        Gets the set endpoint for REST call (ex, https://www.example.com)
      • setRegion

        void setRegion​(Region region)
        Sets the region to call (ex, Region.US_PHOENIX_1).

        Note, this will call setEndpoint after resolving the endpoint. If the service is not available in this region, however, an IllegalArgumentException will be raised.

        Parameters:
        region - The region of the service.
      • setRegion

        void setRegion​(String regionId)
        Sets the region to call (ex, ‘us-phoenix-1’).

        Note, this will first try to map the region ID to a known Region and call setRegion.

        If no known Region could be determined, it will create an endpoint based on the default endpoint format (Region.formatDefaultRegionEndpoint(Service, String) and then call setEndpoint.

        Parameters:
        regionId - The public region ID.
      • useRealmSpecificEndpointTemplate

        void useRealmSpecificEndpointTemplate​(boolean realmSpecificEndpointTemplateEnabled)
        Determines whether realm specific endpoint should be used or not.

        Set realmSpecificEndpointTemplateEnabled to “true” if the user wants to enable use of realm specific endpoint template, otherwise set it to “false”

        Parameters:
        realmSpecificEndpointTemplateEnabled - flag to enable the use of realm specific endpoint template
      • createSubscription

        Future<CreateSubscriptionResponse> createSubscription​(CreateSubscriptionRequest request,
                                                              AsyncHandler<CreateSubscriptionRequest,​CreateSubscriptionResponse> handler)
        Creates a subscription for the specified topic and sends a subscription confirmation URL to the endpoint.

        The subscription remains in "Pending" status until it has been confirmed. For information about confirming subscriptions, see To confirm a subscription.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • deleteSubscription

        Future<DeleteSubscriptionResponse> deleteSubscription​(DeleteSubscriptionRequest request,
                                                              AsyncHandler<DeleteSubscriptionRequest,​DeleteSubscriptionResponse> handler)
        Deletes the specified subscription.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getConfirmSubscription

        Future<GetConfirmSubscriptionResponse> getConfirmSubscription​(GetConfirmSubscriptionRequest request,
                                                                      AsyncHandler<GetConfirmSubscriptionRequest,​GetConfirmSubscriptionResponse> handler)
        Gets the confirmation details for the specified subscription.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getSubscription

        Future<GetSubscriptionResponse> getSubscription​(GetSubscriptionRequest request,
                                                        AsyncHandler<GetSubscriptionRequest,​GetSubscriptionResponse> handler)
        Gets the specified subscription’s configuration information.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • getUnsubscription

        Future<GetUnsubscriptionResponse> getUnsubscription​(GetUnsubscriptionRequest request,
                                                            AsyncHandler<GetUnsubscriptionRequest,​GetUnsubscriptionResponse> handler)
        Unsubscribes the subscription from the topic.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • listSubscriptions

        Future<ListSubscriptionsResponse> listSubscriptions​(ListSubscriptionsRequest request,
                                                            AsyncHandler<ListSubscriptionsRequest,​ListSubscriptionsResponse> handler)
        Lists the subscriptions in the specified compartment or topic.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • publishMessage

        Future<PublishMessageResponse> publishMessage​(PublishMessageRequest request,
                                                      AsyncHandler<PublishMessageRequest,​PublishMessageResponse> handler)
        Publishes a message to the specified topic.

        The topic endpoint is required for this operation. To get the topic endpoint, use getTopic and review the `apiEndpoint` value in the response (NotificationTopic).

        Limits information follows.

        Message size limit per request: 64KB.

        Message delivery rate limit per endpoint: 60 messages per minute for HTTP-based protocols, 10 messages per minute for the `EMAIL` protocol. HTTP-based protocols use URL endpoints that begin with \"http:\" or \"https:\".

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60 per topic. (This TPM limit represents messages per minute.)

        For more information about publishing messages, see [Publishing Messages](https://docs.oracle.com/iaas/Content/Notification/Tasks/publishingmessages.htm). For steps to request a limit increase, see [Requesting a Service Limit Increase](https://docs.oracle.com/iaas/Content/General/Concepts/servicelimits.htm#three).

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.
      • updateSubscription

        Future<UpdateSubscriptionResponse> updateSubscription​(UpdateSubscriptionRequest request,
                                                              AsyncHandler<UpdateSubscriptionRequest,​UpdateSubscriptionResponse> handler)
        Updates the specified subscription’s configuration.

        Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.

        Parameters:
        request - The request object containing the details to send
        handler - The request handler to invoke upon completion, may be null.
        Returns:
        A Future that can be used to get the response if no AsyncHandler was provided. Note, if you provide an AsyncHandler and use the Future, some types of responses (like java.io.InputStream) may not be able to be read in both places as the underlying stream may only be consumed once.