包 | mx.messaging |
类 | public class AbstractConsumer |
继承 | AbstractConsumer MessageAgent EventDispatcher Object |
子类 | Consumer, MultiTopicConsumer |
属性 | 定义方 | ||
---|---|---|---|
authenticated : Boolean [只读 (read-only)] 指示此 MessageAgent 是否使用指向其目标的经过身份验证的连接。 | MessageAgent | ||
channelSet : ChannelSet 提供对 MessageAgent 使用的 ChannelSet 的访问。 | MessageAgent | ||
clientId : String [只读 (read-only)] 提供对 MessageAgent 的客户端 id 的访问。 | MessageAgent | ||
connected : Boolean [只读 (read-only)] 指示此 MessageAgent 当前是否已通过其 ChannelSet 连接到了其目标。 | MessageAgent | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
destination : String 提供对 MessageAgent 的目标的访问。 | MessageAgent | ||
prototype : Object [静态]
对类或函数对象的原型对象的引用。 | Object | ||
requestTimeout : int 提供对已发送消息的请求超时(以秒为单位)的访问。 | MessageAgent | ||
resubscribeAttempts : int Consumer 在目标不可用或连接到目标失败的情况下进行的重新订阅尝试次数。 | AbstractConsumer | ||
resubscribeInterval : int 重新订阅尝试之间间隔的毫秒数。 | AbstractConsumer | ||
subscribed : Boolean [只读 (read-only)] 指示 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 | ||
从远程目标取消订阅。 | AbstractConsumer | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 定义方 | ||
---|---|---|---|
返回订阅消息。 | AbstractConsumer | ||
返回取消订阅消息。 | AbstractConsumer | ||
用于首次连接之前自动初始化 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
用于指示是否应订阅此使用者的标志。
resubscribeAttempts | 属性 |
resubscribeAttempts:int
[读写] Consumer 在目标不可用或连接到目标失败的情况下进行的重新订阅尝试次数。如果值为 -1,则可以无限制地尝试。如果值为 0,则无法尝试重新订阅。
根据重新订阅间隔值以恒定速率尝试重新订阅。如果在 Consumer 的基础通道未连接或正在尝试连接时尝试重新订阅,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Consumer 重新订阅尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
public function get resubscribeAttempts():int
public function set resubscribeAttempts(value:int):void
另请参见
resubscribeInterval | 属性 |
resubscribeInterval:int
[读写] 重新订阅尝试之间间隔的毫秒数。如果 Consumer 没有收到订阅请求的确认,则在等待指定的毫秒数后,它将尝试重新订阅。将值设置为 0 将禁用重新订阅。
根据此值以恒定速率尝试重新订阅。如果在 Consumer 的基础通道未连接或正在尝试连接时尝试重新订阅,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Consumer 重新订阅尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
public function get resubscribeInterval():int
public function set resubscribeInterval(value:int):void
ArgumentError — 如果分配的值为负数。 |
另请参见
subscribed | 属性 |
subscribed:Boolean
[只读 (read-only)]
指示 Consumer 当前是否处于订阅状态。此属性发生更改时调度 propertyChange
事件。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
public function get subscribed():Boolean
timestamp | 属性 |
timestamp:Number
[读写]
包含此 Consumer 接收到的最新消息的时间戳。在 receive()
调用中将此值传递到目标,以请求它为 Consumer 传递该时间戳之后的消息。轮询操作期间将返回时间戳值大于 timestamp
值的所有消息。将此值设置为 -1 将检索目标中所有缓存的消息。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
public function get timestamp():Number
public function set timestamp(value:Number):void
AbstractConsumer | () | 构造函数 |
public function AbstractConsumer()
构造 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
返回订阅消息。如果子类需要自定义订阅消息,则子类应覆盖此方法。
返回CommandMessage — 订阅 CommandMessage。 |
buildUnsubscribeMessage | () | 方法 |
protected function buildUnsubscribeMessage(preserveDurable:Boolean):CommandMessage
返回取消订阅消息。如果子类需要自定义取消订阅消息,则子类应覆盖此方法。
参数
preserveDurable:Boolean — - 如果为 true,则将不会破坏持久 JMS subscriptions,从而使用者便可以稍后重新订阅和接收错过的消息 |
CommandMessage — 取消订阅 CommandMessage。 |
disconnect | () | 方法 |
override public function disconnect():void
断开 Consumer 与其远程目标之间的连接。应在取消订阅后应用程序不再需要的 Consumer 上调用此方法。此方法不会等待未完成的网络操作完成,也不会向服务器发送取消订阅消息。调用 disconnect() 后,Consumer 将报告它处于断开连接的取消订阅状态,因为它在重新建立连接和重新订阅之前不会接收任何其它消息。如果正在尝试重新订阅,断开连接会停止自动重新订阅的尝试。
receive | () | 方法 |
public function receive(timestamp:Number = 0):void
请求在服务器上为此 Consumer 排队的所有消息。应仅对通过非实时、非轮询通道订阅的 Consumer 使用此方法。如果未订阅 Consumer,此方法为无操作。
参数
timestamp:Number (default = 0 ) — 不推荐使用此参数,将忽略它。 |
subscribe | () | 方法 |
public function subscribe(clientId:String = null):void
订阅远程目标。
参数
clientId:String (default = null ) — 用于订阅的客户端 id。针对非持久 Consumer 使用 null。如果订阅是持久的,则每次 Consumer 订阅时必须提供一致的值,以便与远程目标中的正确持久订阅重新建立连接。 |
InvalidDestinationError — 如果未设置目标。 |
unsubscribe | () | 方法 |
public function unsubscribe(preserveDurable:Boolean = false):void
从远程目标取消订阅。对于持久 JMS subscriptions,这将破坏 JMS 服务器上的持久订阅。
参数
preserveDurable:Boolean (default = false ) — - 如果为 true,则将不会破坏持久 JMS subscriptions,从而使用者便可以稍后重新订阅和接收错过的消息 |
message | 事件 |
mx.messaging.events.MessageEvent
mx.messaging.events.MessageEvent.MESSAGE
Consumer 接收到消息时调度。
MESSAGE 事件类型;当收到消息时调度。
此常数的值为 "message"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles
| false |
cancelable
| false |
currentTarget
|
用于定义处理该事件的事件侦听器的 Object。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。
|
message
| 与此事件相关联的消息。 |
target
|
调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。
|