Class Messaging
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
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
Returns true if we are currently connected to any channels.static void
disconnect from all channelsstatic int
static String
Get the URL of the messaging servlet.static String[]
Returns list of channels that we're currently subscribed to.static boolean
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
Called when the messaging connection allowing the server to send messages to the client is disconnected.static void
Called when the messaging connection allowing the server to send messages to the client is established - whether that's the result of an initial connect() or a re-establishment after it is severed.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
subscribe
(String channel, MessagingCallback callback, String selector) Call to subscribe to channel.static void
unsubscribe
(String channel) call to unsubscribe from channel(s).
-
Constructor Details
-
Messaging
public Messaging()
-
-
Method Details
-
setMessagingURL
Set the url of the messaging servlet.- Parameters:
URL
- May be prefixed with [ISOMORPHIC] to use the isomorphicDir
-
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
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
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
Returns list of channels that we're currently subscribed to.- Returns:
-
subscribe
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.
-
subscribe
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.selector
- JMS selector used with Queues to filter the messages that arrive to the channel (optional).
-
unsubscribe
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
-
setConnectionDownCallback
Called when the messaging connection allowing the server to send messages to the client is disconnected. This can occur either when you explicitly disconnect the connection or if a keepalive packet from the server does not arrive on time. This latter is defined as thekeepaliveInterval
plus thekeepaliveReestablishDelay
. With default settings, a maximum of 4 seconds will elapse between the connection actually going down and you receiving this callback.- Parameters:
callback
- MessagingConnectionDownCallback the callback to set.
-
setConnectionUpCallback
Called when the messaging connection allowing the server to send messages to the client is established - whether that's the result of an initial connect() or a re-establishment after it is severed.- Parameters:
callback
- MessagingConnectionUpCallback the callback to set.
-