Class RetryableAmLink

  • All Implemented Interfaces:
    AmLink, AmLinkListener

    public final class RetryableAmLink
    extends Object
    implements AmLink, AmLinkListener
    Retry the AmLink start according to criterion. This class is also responsible for getting the SSO token needed by AM for WebSocket authentication and refreshing it upon authorization failure.
    See Also:
    AmLink
    • Method Detail

      • start

        public Promise<Void,​Exception> start()
        Description copied from interface: AmLink
        Start the AmLink. The AmLink is considered ready for use only when the resulting promise has successfully completed. In case of a failed promise, the instance is considered as already closed.

        Note that notifications are guaranteed to be received AT LEAST once. Duplicate notification may occur.

        Specified by:
        start in interface AmLink
        Returns:
        A promise of this AmLink's start completion.
      • close

        public Promise<Void,​Exception> close()
        Description copied from interface: AmLink
        Close the AmLink and its associated resources. The instance can't be reused afterward.
        Specified by:
        close in interface AmLink
        Returns:
        A promise indicating the AmLink has been closed
      • subscribe

        public Promise<Void,​Exception> subscribe​(String topic)
        Description copied from interface: AmLink
        Subscribe to an AM topic. After successful subscription, the notification consumer (supplied in will begin receiving notifications on this topic.
        Specified by:
        subscribe in interface AmLink
        Parameters:
        topic - The AM topic to subscribe to.
        Returns:
        A promise of a successful subscription to the AM topic.
      • unsubscribe

        public Promise<Void,​Exception> unsubscribe​(String topic)
        Description copied from interface: AmLink
        Unsubscribe from an AM topic. After successful unsubscribe request, the notification consumer will stop receiving notifications on this topic.
        Specified by:
        unsubscribe in interface AmLink
        Parameters:
        topic - The AM topic to un-subscribe from.
        Returns:
        A promise of a successful un-subscription to the AM topic.
      • onDisconnection

        public void onDisconnection()
        Description copied from interface: AmLinkListener
        The handler to call in case of a disconnection. When this handler is called, the instance is considered as closed. Can only be called after the start promise successful completion, and before every ongoing (un)subscribe promise failure.
        Specified by:
        onDisconnection in interface AmLinkListener
      • onNotification

        public void onNotification​(Notification notification)
        Description copied from interface: AmLinkListener
        The notification handler, will receive all notifications sent by AM. Duplicate notifications may occur.
        Specified by:
        onNotification in interface AmLinkListener
        Parameters:
        notification - the received notification