Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
mx.data 
ManualSyncConfiguration 
Packagemx.data
Classpublic class ManualSyncConfiguration
InheritanceManualSyncConfiguration Inheritance Object

Language Version: ActionScript 3.0
Product Version: LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

This class is used when you need more control for how clients share data with other clients than is provided by the 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.



Public Properties
 PropertyDefined By
 Inheritedconstructor : 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
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
Public Methods
 MethodDefined By
  
Constructor.
ManualSyncConfiguration
  
consumerAddSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void
This is a convenience method to add a subscription to this client.
ManualSyncConfiguration
  
consumerRemoveSubscription(subtopic:String = null, selector:String = null):void
This is a convenience method to remove a subscription from this client.
ManualSyncConfiguration
  
consumerSubscribe(clientId:String = null):void
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
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Property Detail

consumerSubscriptions

property
consumerSubscriptions:ArrayCollection

Language Version: ActionScript 3.0
Product Version: LiveCycle Data Services 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 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 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.

Constructor Detail

ManualSyncConfiguration

()Constructor
public function ManualSyncConfiguration()

Language Version: ActionScript 3.0
Product Version: LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

Constructor.

Method Detail

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 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 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 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 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.