com.smartgwt.client.rpc
Class Messaging

java.lang.Object
  extended by com.smartgwt.client.rpc.Messaging

public class Messaging
extends Object

The Messaging class provides APIs to make use of SmartGWT Real-Time Messaging module, an optional module available with SmartGWT Power or Enterprise Edition which allows browser based web applications to publish and subscribe to HTTP Messaging channels, allowing the application to receive (and send) messages delivered via server push for "real-time" updates from the server without polling.

To use this class, you will need to inherit RealtimeMessaging or RealtimeMessagingNoScript from the messaging.jar (required for client side functionality only), and include the isomorphic_messaging and isomorphic_js_parser jar files for deployment on the server.

See the Messaging Quick Reference PDF file for more information on the optional Messaging module.


Constructor Summary
Messaging()
           
 
Method Summary
static boolean connected()
          Returns true if we are currently connected to any channels.
static void disconnect()
          disconnect from all channels
static int getConnectTimeout()
           
static String getMessagingURL()
          Get the URL of the messaging servlet.
static String[] getSubscribedChannels()
          Returns list of channels that we're currently subscribed to.
static boolean messagingLoaded()
          Static method indicating whether the optional RealtimeMessaging module is loaded for the page.
static void send(String[] channels, Object data, RPCCallback callback)
          Actually send data to a list of channels.
static void send(String channel, Object data, RPCCallback callback)
          Actually send data to a channel.
static void setConnectTimeout(int timeout)
          Specifies how long we wait for the handshake to the server to complete, before trying again.
static void setMessagingURL(String URL)
          Set the url of the messaging servlet.
static void subscribe(String channel, MessagingCallback callback)
          Call to subscribe to channel.
static void unsubscribe(String channel)
          call to unsubscribe from channel(s).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Messaging

public Messaging()
Method Detail

setMessagingURL

public static void setMessagingURL(String URL)
Set the url of the messaging servlet.

Parameters:
URL - May be prefixed with [ISOMORPHIC] to use the isomorphicDir

getMessagingURL

public static String getMessagingURL()
Get the URL of the messaging servlet.

Returns:

setConnectTimeout

public static void setConnectTimeout(int timeout)
Specifies how long we wait for the handshake to the server to complete, before trying again.

Parameters:
timeout - in ms

getConnectTimeout

public static int getConnectTimeout()

send

public static void send(String[] channels,
                        Object data,
                        RPCCallback callback)
Actually send data to a list of channels. Each browser subscribed to the specified channel will be sent this data from the server in realtime.

Note that the data is of type Object - typically this will be just a String. To send a complex data type such as a Map to the server, use the JSOHelper utility to get a JavaScript equivalent and pass in the JavaScriptObject.

Parameters:
channels -
data -
callback -

send

public static void send(String channel,
                        Object data,
                        RPCCallback callback)
Actually send data to a channel. Each browser subscribed to the specified channel will be sent this data from the server in realtime.

Note that the data is of type Object - typically this will be just a String. To send a complex data type such as a Map to the server, use the JSOHelper utility to get a JavaScript equivalent and pass in the JavaScriptObject.

Parameters:
channels -
data -
callback -

getSubscribedChannels

public static String[] getSubscribedChannels()
Returns list of channels that we're currently subscribed to.

Returns:

subscribe

public static void subscribe(String channel,
                             MessagingCallback callback)
Call to subscribe to channel. This will cause a reconnect to the server - for this reason we defer the actuall reconnect to allow for multiple subscribe() calls in sequence.

Parameters:
channel - name of the channel we are subscribing to.
callback - this will execute whenever data is received from the server on this messaging channel.

unsubscribe

public static void unsubscribe(String channel)
call to unsubscribe from channel(s). This will cause a reconnect to the server - for this reason we defer the actual reconnect to allow for multiple unsubscribeToChannel() calls in sequence.

Parameters:
channel -

connected

public static boolean connected()
Returns true if we are currently connected to any channels.

Returns:

disconnect

public static void disconnect()
disconnect from all channels


messagingLoaded

public static boolean messagingLoaded()
Static method indicating whether the optional RealtimeMessaging module is loaded for the page. The Messaging class cannot function without this module being present.

Returns:
true if the RealtimeMessaging module is present