包 | mx.messaging |
类 | public class AbstractConsumer |
继承 | AbstractConsumer MessageAgent EventDispatcher Object |
子类 | Consumer, MultiTopicConsumer |
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
属性 | 由以下参数定义 | ||
---|---|---|---|
authenticated : Boolean [只读]
指示此 MessageAgent 是否使用指向其目标的经过身份验证的连接。 | MessageAgent | ||
channelSet : ChannelSet
提供对 MessageAgent 使用的 ChannelSet 的访问。 | MessageAgent | ||
clientId : String [只读]
提供对 MessageAgent 的客户端 id 的访问。 | MessageAgent | ||
connected : Boolean [只读]
指示此 MessageAgent 当前是否已通过其 ChannelSet 连接到了其目标。 | MessageAgent | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
destination : String
提供对 MessageAgent 的目标的访问。 | MessageAgent | ||
maxFrequency : uint
确定 Consumer 希望每秒钟收到的消息的最大数量。 | AbstractConsumer | ||
requestTimeout : int
提供对已发送消息的请求超时(以秒为单位)的访问。 | MessageAgent | ||
resubscribeAttempts : int
Consumer 在目标不可用或连接到目标失败的情况下进行的重新订阅尝试次数。 | AbstractConsumer | ||
resubscribeInterval : int
重新订阅尝试之间间隔的毫秒数。 | AbstractConsumer | ||
subscribed : Boolean [只读]
指示 Consumer 当前是否处于订阅状态。 | AbstractConsumer | ||
timestamp : Number
包含此 Consumer 接收到的最新消息的时间戳。 | AbstractConsumer |
属性 | 由以下参数定义 | ||
---|---|---|---|
_shouldBeSubscribed : Boolean
用于指示是否应订阅此使用者的标志。 | AbstractConsumer |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造 Consumer。 | AbstractConsumer | ||
收到已发送消息的结果时由 MessageResponder 调用。 | MessageAgent | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
处理 CONNECT ChannelEvent。 | MessageAgent | ||
处理 DISCONNECT ChannelEvent。 | MessageAgent | ||
处理 ChannelFaultEvent。 | MessageAgent | ||
[覆盖]
断开 Consumer 与其远程目标之间的连接。 | AbstractConsumer | ||
将事件调度到事件流中。 | EventDispatcher | ||
收到已发送消息的错误时由 MessageResponder 调用。 | MessageAgent | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
如果存在传入消息的任何挂起的请求,则返回 true。 | MessageAgent | ||
在创建了实现对象、并分配了标签上指定的所有属性后调用。 | MessageAgent | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
从其远程目标注销 MessageAgent。 | MessageAgent | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
请求在服务器上为此 Consumer 排队的所有消息。 | AbstractConsumer | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置 MessageAgent 用于对目标进行身份验证的凭据。 | MessageAgent | ||
设置循环操作动态属性的可用性。 | Object | ||
设置将传递到远程目标以对次系统进行身份验证的远程凭据。 | MessageAgent | ||
订阅远程目标。 | AbstractConsumer | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
从远程目标取消订阅。 | AbstractConsumer | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 由以下参数定义 | ||
---|---|---|---|
返回订阅消息。 | AbstractConsumer | ||
返回取消订阅消息。 | AbstractConsumer | ||
处理服务器上的身份验证错误。 | MessageAgent | ||
用于首次连接之前自动初始化 MessageAgent 的 channelSet 属性。 | MessageAgent | ||
使用代理的 ChannelSet 将 Message 从 MessageAgent 发送到其目标。 | MessageAgent | ||
由于特定于子类的服务器会话超时行为,子类将覆盖此函数实现重新验证。 | MessageAgent |
事件 | 摘要 | 由以下参数定义 | ||
---|---|---|---|---|
收到已发送消息的确认消息时调度。 | MessageAgent | |||
[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | |||
MessageAgent 使用的基础 Channel 建立连接时调度。 | MessageAgent | |||
MessageAgent 使用的基础 Channel 断开连接时调度。 | MessageAgent | |||
MessageAgent 使用的基础 Channel 出错时调度。 | MessageAgent | |||
[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | |||
发生消息错误时调度。 | MessageAgent | |||
Consumer 接收到消息时调度。 | AbstractConsumer | |||
MessageAgent 的连接属性发生更改时调度。 | MessageAgent |
_shouldBeSubscribed | 属性 |
protected var _shouldBeSubscribed:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
用于指示是否应订阅此使用者的标志。
maxFrequency | 属性 |
maxFrequency:uint
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
确定 Consumer 希望每秒钟收到的消息的最大数量。了解此值的服务器将在确定向 Consumer 发送消息的速度时使用此值作为输入。默认值为 0,表示 Consumer 没有消息速度首选项。请注意,应在 Consumer 订阅之前设置此属性,在 Consumer 订阅后所做的任何更改都将是无效的,除非 Consumer 取消订阅并重新订阅。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get maxFrequency():uint
public function set maxFrequency(value:uint):void
resubscribeAttempts | 属性 |
resubscribeAttempts:int
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
Consumer 在目标不可用或连接到目标失败的情况下进行的重新订阅尝试次数。如果值为 -1,则可以无限制地尝试。如果值为 0,则无法尝试重新订阅。
根据重新订阅间隔值以恒定速率尝试重新订阅。如果在 Consumer 的基础通道未连接或正在尝试连接时尝试重新订阅,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Consumer 重新订阅尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get resubscribeAttempts():int
public function set resubscribeAttempts(value:int):void
相关 API 元素
resubscribeInterval | 属性 |
resubscribeInterval:int
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
重新订阅尝试之间间隔的毫秒数。如果 Consumer 没有收到订阅请求的确认,则在等待指定的毫秒数后,它将尝试重新订阅。将值设置为 0 将禁用重新订阅。
根据此值以恒定速率尝试重新订阅。如果在 Consumer 的基础通道未连接或正在尝试连接时尝试重新订阅,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Consumer 重新订阅尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get resubscribeInterval():int
public function set resubscribeInterval(value:int):void
引发
ArgumentError — 如果分配的值为负数。
|
相关 API 元素
subscribed | 属性 |
timestamp | 属性 |
timestamp:Number
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
包含此 Consumer 接收到的最新消息的时间戳。在 receive()
调用中将此值传递到目标,以请求它为 Consumer 传递该时间戳之后的消息。轮询操作期间将返回时间戳值大于 timestamp
值的所有消息。将此值设置为 -1 将检索目标中所有缓存的消息。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get timestamp():Number
public function set timestamp(value:Number):void
AbstractConsumer | () | 构造函数 |
public function AbstractConsumer()
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造 Consumer。
示例 ( 如何使用本示例 )
function initConsumer():void { var consumer:Consumer = new Consumer(); consumer.destination = "NASDAQ"; consumer.selector = "operation IN ('Bid','Ask')"; consumer.addEventListener(MessageEvent.MESSAGE, messageHandler); consumer.subscribe(); } function messageHandler(event:MessageEvent):void { var msg:IMessage = event.message; var info:Object = msg.body; trace("-App recieved message: " + msg.toString()); }
buildSubscribeMessage | () | 方法 |
protected function buildSubscribeMessage():CommandMessage
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
返回订阅消息。如果子类需要自定义订阅消息,则子类应覆盖此方法。
返回CommandMessage — 订阅 CommandMessage。
|
buildUnsubscribeMessage | () | 方法 |
protected function buildUnsubscribeMessage(preserveDurable:Boolean):CommandMessage
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
返回取消订阅消息。如果子类需要自定义取消订阅消息,则子类应覆盖此方法。
参数
preserveDurable:Boolean — - 如果为 true,则将不会破坏持久 JMS subscriptions,从而使用者便可以稍后重新订阅和接收错过的消息
|
CommandMessage — 取消订阅 CommandMessage。
|
disconnect | () | 方法 |
override public function disconnect():void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
断开 Consumer 与其远程目标之间的连接。应在取消订阅后应用程序不再需要的 Consumer 上调用此方法。此方法不会等待未完成的网络操作完成,也不会向服务器发送取消订阅消息。调用 disconnect() 后,Consumer 将报告它处于断开连接的取消订阅状态,因为它在重新建立连接和重新订阅之前不会接收任何其他消息。如果正在尝试重新订阅,断开连接会停止自动重新订阅的尝试。
receive | () | 方法 |
public function receive(timestamp:Number = 0):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
请求在服务器上为此 Consumer 排队的所有消息。应仅对通过非实时、非轮询通道订阅的 Consumer 使用此方法。如果未订阅 Consumer,此方法为无操作。
参数
timestamp:Number (default = 0 ) — 不推荐使用此参数,将忽略它。
|
subscribe | () | 方法 |
public function subscribe(clientId:String = null):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
订阅远程目标。
参数
clientId:String (default = null ) — 用于订阅的客户端 id。针对非持久 Consumer 使用 null。如果订阅是持久的,则每次 Consumer 订阅时必须提供一致的值,以便与远程目标中的正确持久订阅重新建立连接。
|
引发
InvalidDestinationError — 如果未设置目标。
|
unsubscribe | () | 方法 |
public function unsubscribe(preserveDurable:Boolean = false):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
从远程目标取消订阅。对于持久 JMS subscriptions,这将破坏 JMS 服务器上的持久订阅。
参数
preserveDurable:Boolean (default = false ) — - 如果为 true,则将不会破坏持久 JMS subscriptions,从而使用者便可以稍后重新订阅和接收错过的消息
|
message | 事件 |
mx.messaging.events.MessageEvent
属性 MessageEvent.type =
mx.messaging.events.MessageEvent.MESSAGE
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
Consumer 接收到消息时调度。
MESSAGE 事件类型;当收到消息时调度。此常量的值为 "message"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
message | 与此事件相关联的消息。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
Tue Jun 12 2018, 11:04 AM Z