mx.data

# ManualSyncConfiguration - AS3 ADEP Data Services

Package | mx.data
Class | public class ManualSyncConfiguration
Inheritance | ManualSyncConfiguration Object

Language Version: | ActionScript 3.0

Product Version: | Adobe Digital Enterprise Platform Data Services for Java EE 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
Hide Inherited Public Properties
Show Inherited Public Properties

| 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

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | ManualSyncConfiguration() 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
|  | consumerUnsubscribe():void This method is used to unsubscribe this client from all subscriptions. | ManualSyncConfiguration
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### consumerSubscriptions

property

`consumerSubscriptions:ArrayCollection`

Language Version: | ActionScript 3.0

Product Version: | Adobe Digital Enterprise Platform 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: | Adobe Digital Enterprise Platform 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: | Adobe Digital Enterprise Platform 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.

Constructor Detail

### ManualSyncConfiguration

()
Constructor

`public function ManualSyncConfiguration()`

Language Version: | ActionScript 3.0

Product Version: | Adobe Digital Enterprise Platform Data Services for Java EE 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: | Adobe Digital Enterprise Platform 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: | Adobe Digital Enterprise Platform 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: | Adobe Digital Enterprise Platform 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: | Adobe Digital Enterprise Platform 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.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00