Class MessageSender


  • public class MessageSender
    extends Object
    MessageSender is responsible for sending messages to the server.

    Internally uses XhrConnection and/or PushConnection for delivering messages, depending on the application configuration.

    Since:
    7.6
    Author:
    Vaadin Ltd
    • Constructor Detail

      • MessageSender

        public MessageSender()
    • Method Detail

      • setConnection

        public void setConnection​(ApplicationConnection connection)
        Sets the application connection this instance is connected to. Called internally by the framework.
        Parameters:
        connection - the application connection this instance is connected to
      • sendInvocationsToServer

        public void sendInvocationsToServer()
      • send

        protected void send​(JsonArray reqInvocations,
                            JsonObject extraJson)
        Makes an UIDL request to the server.
        Parameters:
        reqInvocations - Data containing RPC invocations and all related information.
        extraParams - Parameters that are added to the payload
      • send

        public void send​(JsonObject payload)
        Sends an asynchronous or synchronous UIDL request to the server using the given URI.
        Parameters:
        uri - The URI to use for the request. May includes GET parameters
        payload - The contents of the request to send
      • setPushEnabled

        public void setPushEnabled​(boolean enabled)
        Sets the status for the push connection.
        Parameters:
        enabled - true to enable the push connection; false to disable the push connection.
      • startRequest

        public void startRequest()
      • endRequest

        public void endRequest()
      • runPostRequestHooks

        public static void runPostRequestHooks​(String appId)
        Runs possibly registered client side post request hooks. This is expected to be run after each uidl request made by Vaadin application.
        Parameters:
        appId -
      • extendLiferaySession

        public static void extendLiferaySession()
        If on Liferay and logged in, ask the client side session management JavaScript to extend the session duration. Otherwise, Liferay client side JavaScript will explicitly expire the session even though the server side considers the session to be active. See ticket #8305 for more information.
      • hasActiveRequest

        public boolean hasActiveRequest()
        Indicates whether or not there are currently active UIDL requests. Used internally to sequence requests properly, seldom needed in Widgets.
        Returns:
        true if there are active requests
      • getCommunicationMethodName

        public String getCommunicationMethodName()
        Returns a human readable string representation of the method used to communicate with the server.
        Returns:
        A string representation of the current transport type
      • resynchronize

        public void resynchronize()
        Resynchronize the client side, i.e. reload all component hierarchy and state from the server
      • setClientToServerMessageId

        public void setClientToServerMessageId​(int nextExpectedId,
                                               boolean force)
        Used internally to update what the server expects
        Parameters:
        clientToServerMessageId - the new client id to set
        force - true if the id must be updated, false otherwise