套件 | mx.data |
類別 | public class ManualSyncConfiguration |
繼承 | ManualSyncConfiguration Object |
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | 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.
屬性 | 定義自 | ||
---|---|---|---|
constructor : Object
類別物件的參照或是特定物件實體的建構函數。 | 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 |
方法 | 定義自 | ||
---|---|---|---|
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 | ||
指出物件是否有已定義的指定屬性。 | Object | ||
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。 | Object | ||
指出指定的屬性是否存在,以及是否可列舉。 | Object | ||
為迴圈作業設定動態屬性的可用性。 | Object | ||
傳回代表此物件的字串,根據地區特定慣例進行格式化。 | Object | ||
會傳回指定之物件的字串形式。 | Object | ||
會傳回指定之物件的基本值。 | Object |
consumerSubscriptions | 屬性 |
consumerSubscriptions:ArrayCollection
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | 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.
實作
public function get consumerSubscriptions():ArrayCollection
public function set consumerSubscriptions(value:ArrayCollection):void
producerDefaultHeaders | 屬性 |
public var producerDefaultHeaders:Object
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | 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 | 屬性 |
public var producerSubtopics:ArrayCollection
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | 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 | () | 建構函式 |
public function ManualSyncConfiguration()
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
Constructor.
consumerAddSubscription | () | 方法 |
public function consumerAddSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
This is a convenience method to add a subscription to this client.
參數
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 | () | 方法 |
public function consumerRemoveSubscription(subtopic:String = null, selector:String = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | Flash Player 9, AIR 1.1 |
This is a convenience method to remove a subscription from this client.
參數
subtopic:String (default = null ) — The subtopic string.
| |
selector:String (default = null ) — The selector string.
|
consumerSubscribe | () | 方法 |
public function consumerSubscribe(clientId:String = null):void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | 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).
參數
clientId:String (default = null ) — The client ID.
|
consumerUnsubscribe | () | 方法 |
public function consumerUnsubscribe():void
語言版本: | ActionScript 3.0 |
產品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
執行階段版本: | 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.
Tue Jun 12 2018, 03:47 PM Z