包 | 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
功能提供的控制更严格,则使用此类。当 autoSyncEnabled
为 true
时,服务器通过准确跟踪每个客户端上正在托管的对象来自动路由消息。这不是可完全扩展的系统,因为每个服务器保留了(至少)由其连接的客户端托管的所有对象的标识存储。此外,所有数据消息将路由到所有服务器。
您可以通过手动匹配创建者(其它客户端或服务器代码)和客户端使用者来提高该过程的效率或限制数据同步。LCDS 为匹配创建者和使用者提供了灵活的机制。只需通过匹配由创建者发布和由使用者订阅的主题即可完成此操作。每个创建者都可以指定子标题列表,并且每个使用者都可以订阅子标题列表(注意:传递始终相对于可认为是父主题的父目标)。
对于高级用法,创建者会任意发送一组名称/值对。使用者使用选择器表达式进行订阅(使用 JMS 的选择器语言 — 类似于简单的 SQL where 子句)。每个消息获得设置为消息标头的创建者的名称/值对。这些标头与服务器上 Consumer 的选择器表达式进行匹配,仅当存在一个匹配时才路由消息。您还可以组合使用这些机制。
请注意,手动同步配置只将更改路由到客户端。客户端仍然必须执行 fill()
、getItem()
或其它方法,以便存在接收这些更改的位置。如果客户端收到为不属于此客户端托管的项推送的消息,则该消息将被忽略。您可以查看客户端上的调试日志信息,以检测何时发生此情况。服务器上的调试日志可用于诊断服务器上的订阅问题。
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
consumerSubscriptions : ArrayCollection
此属性为此 manualSync 配置指定当前订阅集。 | ManualSyncConfiguration | ||
producerDefaultHeaders : Object
此属性指定一组名称/值对,这些名称/值对将添加到以后由此数据服务进行的任何更改。 | ManualSyncConfiguration | ||
producerSubtopics : ArrayCollection
此属性指定所有后续更改发送到的主题列表。 | ManualSyncConfiguration |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | ManualSyncConfiguration | ||
这是一种向此客户端添加订阅的简便方法。 | ManualSyncConfiguration | ||
这是一种从此客户端删除订阅的简便方法。 | ManualSyncConfiguration | ||
此方法用于为此客户端订阅服务器中的更改。 | ManualSyncConfiguration | ||
此方法用于取消此客户端的所有订阅。 | 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 |
此属性为此 manualSync 配置指定当前订阅集。这是 SubscriptionInfo 实例的 ArrayCollection。您可以使用 mx.messaging.SubscriptionInfo 类或 consumerAddSubscription 和 consumerRemoveSubscription 简便方法将订阅直接添加到此属性中。SubscriptionInfo 实例包含副标题和选择器属性。如果副标题为空,则订阅适用于目标的默认主题。只有缺少副标题的消息才与默认目标匹配。如果选择器表达式为 null,则与订阅主题匹配的任何消息都将传送到此客户端。
除指定订阅列表之外,您还必须调用 subscribe 方法以初始化订阅。使用者订阅后,对此 subscriptions 属性进行的任何更改将自动应用到此客户端的服务器订阅中。当您调用“consumerUnsubscribe”时,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 |
此属性指定一组名称/值对,这些名称/值对将添加到以后由此数据服务进行的任何更改。通常使用这些属性匹配其中一个 ConsumerSubscriptions 中提供的选择器表达式。例如,您可以按如下形式指定此属性:dataService.manualSync.producerDefaultHeaders = {a:'3'}
使用者可以添加匹配的选择器表达式,如 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 |
此属性指定所有后续更改发送到的主题列表。如果另一客户端数据服务订阅其中任一主题,该客户端将接收这些更改。这是主题字符串名称的 ArrayCollection。这些名称应该与另一个客户端的 consumerSubscriptions 属性的名称匹配,以便该客户端接收此消息。如果副标题名称相同或使用者使用与制作程序的副标题匹配的副标题通配符表达式进行订阅,则会出现匹配。
ManualSyncConfiguration | () | 构造函数 |
public function ManualSyncConfiguration()
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
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 |
这是一种向此客户端添加订阅的简便方法。
参数
subtopic:String (default = null ) — 子标题字符串。
| |
selector:String (default = null ) — 选择器字符串。
| |
maxFrequency:uint (default = 0 ) — DataService 希望每秒钟收到订阅消息的最大数量。请注意,此值覆盖 DataService 范围的 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 |
这是一种从此客户端删除订阅的简便方法。
参数
subtopic:String (default = null ) — 子标题字符串。
| |
selector:String (default = null ) — 选择器字符串。
|
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 |
此方法用于为此客户端订阅服务器中的更改。要使用此方法,您应该以前至少向 subscriptions 属性添加了一个订阅(或使用 consumerAddSubscription)。
参数
clientId:String (default = null ) — 客户端标识。
|
consumerUnsubscribe | () | 方法 |
public function consumerUnsubscribe():void
语言版本: | ActionScript 3.0 |
产品版本: | Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
此方法用于取消此客户端的所有订阅。调用此方法不会影响 subscriptions 属性,从而简化了作为整体订阅/取消订阅客户端的过程。
Tue Jun 12 2018, 11:04 AM Z