Package | mx.data |
Class | public class ManualSyncConfiguration |
Inheritance | ManualSyncConfiguration Object |
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
autoSyncEnabled
feature.
When autoSyncEnabled
is true
,
the server automatically routes messages by tracking
precisely which objects are being managed on each client. This is not a fully
scalable system as each server maintains a store of (at least) the ids of all
objects managed by its connected clients. Also, all data messages are routed
to all servers.
You can improve the efficiency of that process or restrict synchronizing of data by manually matching producers (either other clients or server code) and client consumers. LCDS provides a flexible mechanism for matching producers and consumers. You can either do this simply by matching topics published by producers and subscribed to by consumers. Each producer can specify a list of subtopics and each consumer can subscribe to a list of subtopics (note: delivery is always relative to the parent destination which can be considered the parent topic).
For advanced usage, producers send an arbitrary set of name/value pairs. Consumers subscribe using a selector expression (using JMS's selector language - similar to a primitive SQL where clause). Each message gets the producer's name/value pairs set as message headers. These headers are matched against the Consumer's selector expression on the server and only if there is a match is the message routed. You can use these mechanisms in combination as well.
Note that the manual sync configuration only routes changes to the client. The
client still must execute the fill()
, getItem()
,
or other method so that it has a place to receive
those changes. If a client receives a pushed message for an item which is not
managed on that client, it will be ignored. You can see the debug logging information
on the client to detect when this is happening. Also, the debug logging on the
server can be used to diagnose subscription problems on the server.
Property | Defined By | ||
---|---|---|---|
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
consumerSubscriptions : ArrayCollection
This property specifies the current set of subscriptions for this manualSync
configuration. | ManualSyncConfiguration | ||
producerDefaultHeaders : Object
This property specifies a set of name/value pairs which are added
to any changes made subsequently by this data service. | ManualSyncConfiguration | ||
producerSubtopics : ArrayCollection
This property specifies the list of topics which any subsequent changes
are sent to. | ManualSyncConfiguration |
Method | Defined By | ||
---|---|---|---|
Constructor. | ManualSyncConfiguration | ||
This is a convenience method to add a subscription to this client. | ManualSyncConfiguration | ||
This is a convenience method to remove a subscription from this client. | ManualSyncConfiguration | ||
This method is used to subscribe this client to changes from the server. | ManualSyncConfiguration | ||
This method is used to unsubscribe this client from all subscriptions. | ManualSyncConfiguration | ||
Indicates whether an object has a specified property defined. | Object | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
consumerSubscriptions | property |
consumerSubscriptions:ArrayCollection
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This property specifies the current set of subscriptions for this manualSync configuration. This is an ArrayCollection of SubscriptionInfo instances. You can add subscriptions directly to this property using the class mx.messaging.SubscriptionInfo or use the convenience methods consumerAddSubscription and consumerRemoveSubscription. The SubscriptionInfo instance has a subtopic and a selector property. If the subtopic is null, the subscription applies to the default topic for the destination. Only messages that lack any subtopic at all match the default destination. If the selector expression is null, any message which matches the topic of the subscription is delivered to this client.
In addition to specifying a list of subscriptions, you must also call the subscribe method in order to initiate the subscription. Once the consumer is subscribed, any changes made to this subscriptions property are automatically applied to the server's subscriptions for this client. When you call "consumerUnsubscribe", the subscriptions property is not modified by the client is unsubscribed from all of its current subscriptions.
Implementation
public function get consumerSubscriptions():ArrayCollection
public function set consumerSubscriptions(value:ArrayCollection):void
producerDefaultHeaders | property |
public var producerDefaultHeaders:Object
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This property specifies a set of name/value pairs which are added
to any changes made subsequently by this data service. You typically
use these properties to match against a selector expression provided in
one of the ConsumerSubscriptions. For example, you might specify
this property as:
dataService.manualSync.producerDefaultHeaders = {a:'3'}
A consumer could add a matching selector expression such as:
dataService.manualSync.consumerAddSubscription(null, "a IN ('3', '4', '5')");
producerSubtopics | property |
public var producerSubtopics:ArrayCollection
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This property specifies the list of topics which any subsequent changes are sent to. If another client data service is subscribed to any of these topics, that client will receive these changes. It is an ArrayCollection of String names of topics. The names should match the names in another client's consumerSubscriptions property for the other client to receive this message. A match occurs when either the subtopic names are the same or the consumer has subscribed using a subtopic wildcard expression which matches the producer's subtopic.
ManualSyncConfiguration | () | Constructor |
public function ManualSyncConfiguration()
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructor.
consumerAddSubscription | () | method |
public function consumerAddSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This is a convenience method to add a subscription to this client.
Parameters
subtopic:String (default = null ) — The subtopic string.
| |
selector:String (default = null ) — The selector string.
| |
maxFrequency:uint (default = 0 ) — The maximum number of messages per second the DataService
wants to receive for the subscription. Note that this value overwrites the
DataService wide maxFrequency.
|
consumerRemoveSubscription | () | method |
public function consumerRemoveSubscription(subtopic:String = null, selector:String = null):void
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This is a convenience method to remove a subscription from this client.
Parameters
subtopic:String (default = null ) — The subtopic string.
| |
selector:String (default = null ) — The selector string.
|
consumerSubscribe | () | method |
public function consumerSubscribe(clientId:String = null):void
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This method is used to subscribe this client to changes from the server. To use this method, you should previously have added at least one subscription to the subscriptions property (or use consumerAddSubscription).
Parameters
clientId:String (default = null ) — The client ID.
|
consumerUnsubscribe | () | method |
public function consumerUnsubscribe():void
Language Version: | ActionScript 3.0 |
Product Version: | LiveCycle Data Services for Java EE 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This method is used to unsubscribe this client from all subscriptions. Calling this method does not affect the subscriptions property making it easy to subscribe/unsubscribe the client as a whole.
Wed Nov 21 2018, 06:34 AM -08:00