包 | mx.messaging |
类 | public class MultiTopicConsumer |
继承 | MultiTopicConsumer AbstractConsumer MessageAgent EventDispatcher Object |
与常规 Consumer 类似,MultiTopicConsumer 发送生成 MessageAckEvent 或 MessageFaultEvent 的订阅和取消订阅消息,生成内容取决于操作是否成功。订阅后,MultiTopicConsumer 便会为它接收到的每条消息调度 MessageEvent。
MXML 语法隐藏 MXML 语法The <mx:MultiTopicConsumer> tag has these properties:
<mx:Consumer Properties subscriptions=""an empty ArrayCollection of SubscriptionInfo objects" resubscribeAttempts="5" resubscribeInterval="5000" timestamp="No default." />
属性 | 定义方 | ||
---|---|---|---|
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 | ||
subscriptions : ArrayCollection 存储 SubscriptionInfo 对象的 Array。 | MultiTopicConsumer | ||
timestamp : Number 包含此 Consumer 接收到的最新消息的时间戳。 | AbstractConsumer |
方法 | 定义方 | ||
---|---|---|---|
构造 MultiTopicConsumer。 | MultiTopicConsumer | ||
收到已发送消息的结果时由 MessageResponder 调用。 | MessageAgent | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
这是添加新订阅的简便方法。 | MultiTopicConsumer | ||
处理 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 | ||
此方法可删除 subtopic 和选择器指定的订阅。 | MultiTopicConsumer | ||
设置 MessageAgent 用于对目标进行身份验证的凭据。 | MessageAgent | ||
设置循环操作动态属性的可用性。 | Object | ||
设置将传递到远程目标以对次系统进行身份验证的远程凭据。 | MessageAgent | ||
订阅远程目标。 | AbstractConsumer | ||
返回指定对象的字符串表示形式。 | Object | ||
从远程目标取消订阅。 | AbstractConsumer | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 定义方 | ||
---|---|---|---|
返回订阅消息。 | MultiTopicConsumer | ||
返回取消订阅消息。 | MultiTopicConsumer | ||
用于首次连接之前自动初始化 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 接收到消息时调度。 | MultiTopicConsumer | |||
MessageAgent 的连接属性发生更改时调度。 | MessageAgent |
subscriptions | 属性 |
subscriptions:ArrayCollection
[读写] 存储 SubscriptionInfo 对象的 Array。每个订阅都包含一个 subtopic 和一个选择器,其中两者均可以为 null。subtopic 为非 null 的订阅将仅允许订阅通过该 subtopic 传递的消息。如果 subtopic 为 null,它将使用无 subtopic 的选择器。如果选择器和 subtopic 均为 null,则订阅将接收面向无 subtopic 的目标的任何消息。subtopic 可以包含通配符规范。
调用 subscribe()
方法之前,可以设置此属性,且不会产生任何副作用。MultiTopicConsumer 订阅其目标后,更改此值会产生以下副作用:更新 MultiTopicConsumer 的订阅以包含所有新的 subscriptions 并删除从 ArrayCollection 中删除的所有 subscriptions。
远程目标必须了解选择器表达式的值。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
public function get subscriptions():ArrayCollection
public function set subscriptions(value:ArrayCollection):void
MultiTopicConsumer | () | 构造函数 |
public function MultiTopicConsumer()
构造 MultiTopicConsumer。
function initConsumer():void { var consumer:Consumer = new MultiTopicConsumer(); consumer.destination = "NASDAQ"; consumer.addEventListener(MessageEvent.MESSAGE, messageHandler); consumer.addSubscription("myStock1", "operation IN ('BID', 'Ask')"); consumer.addSubscription("myStock2", "operation IN ('BID', 'Ask')"); consumer.subscribe(); } function messageHandler(event:MessageEvent):void { var msg:IMessage = event.message; var info:Object = msg.body; trace("-App recieved message: " + msg.toString()); }
addSubscription | () | 方法 |
public function addSubscription(subtopic:String = null, selector:String = null):void
这是添加新订阅的简便方法。它只创建新 SubscriptionInfo 对象并将其添加到 subscriptions 属性。要调用此方法,您需要为新订阅提供 subtopic 以及选择器字符串。如果 subtopic 为 null,则订阅将应用于制造者中未设置 subtopic 的消息。如果选择器字符串为 null,则已发送的与 subtopic 字符串匹配的所有消息都将由此使用者接收。
参数
subtopic:String (default = null ) — 新订阅的 subtopic。 | |
selector:String (default = null ) — 新订阅的选择器。 |
buildSubscribeMessage | () | 方法 |
override protected function buildSubscribeMessage():CommandMessage
返回订阅消息。
返回CommandMessage — 订阅 CommandMessage。 |
buildUnsubscribeMessage | () | 方法 |
override protected function buildUnsubscribeMessage(preserveDurable:Boolean):CommandMessage
返回取消订阅消息。
参数
preserveDurable:Boolean — 如果为 true,则不会破坏持久 JMS 订阅,以使使用者稍后可以重新订阅和接收错过的消息。 |
CommandMessage — 取消订阅 CommandMessage。 |
removeSubscription | () | 方法 |
public function removeSubscription(subtopic:String = null, selector:String = null):void
此方法可删除 subtopic 和选择器指定的订阅。
参数
subtopic:String (default = null ) — 订阅的 subtopic。 | |
selector:String (default = null ) — 订阅的选择器。 |
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。
|