包 | mx.messaging |
类 | public class MessageAgent |
继承 | MessageAgent EventDispatcher Object |
实现 | IMXMLObject |
子类 | AbstractConsumer, AbstractProducer |
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
注意:仅在高级用法中使用。使用此类创建如现有的 Producer 类和 Consumer 类这样的自定义消息代理。
MXML 语法隐藏 MXML 语法All message agent classes, including the Producer and Consumer classes, extend MessageAgent and inherit the following tag attributes:
<mx:tagname
Properties channelSet="No default." clientId="No default." connected="false" destination="No default." requestTimeout="-1" subtopic="No default." Events acknowledge="No default." channelConnect="No default." channelDisconnect="No default." channelFault="No default." fault="No default." propertyChange="No default." />
属性 | 由以下参数定义 | ||
---|---|---|---|
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 | ||
requestTimeout : int
提供对已发送消息的请求超时(以秒为单位)的访问。 | MessageAgent |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | MessageAgent | ||
收到已发送消息的结果时由 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 | ||
断开 MessageAgent 的网络连接的连接。 | MessageAgent | ||
将事件调度到事件流中。 | EventDispatcher | ||
收到已发送消息的错误时由 MessageResponder 调用。 | MessageAgent | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
如果存在传入消息的任何挂起的请求,则返回 true。 | MessageAgent | ||
在创建了实现对象、并分配了标签上指定的所有属性后调用。 | MessageAgent | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
从其远程目标注销 MessageAgent。 | MessageAgent | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
设置 MessageAgent 用于对目标进行身份验证的凭据。 | MessageAgent | ||
设置循环操作动态属性的可用性。 | Object | ||
设置将传递到远程目标以对次系统进行身份验证的远程凭据。 | MessageAgent | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
方法 | 由以下参数定义 | ||
---|---|---|---|
处理服务器上的身份验证错误。 | 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 | |||
MessageAgent 的连接属性发生更改时调度。 | MessageAgent |
authenticated | 属性 |
channelSet | 属性 |
channelSet:ChannelSet
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对 MessageAgent 使用的 ChannelSet 的访问。可以手动构造和分配 ChannelSet,否则将动态对其进行初始化以对此 MessageAgent 的目标使用已配置 Channel。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get channelSet():ChannelSet
public function set channelSet(value:ChannelSet):void
clientId | 属性 |
clientId:String
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对 MessageAgent 的客户端 id 的访问。MessageAgent 的客户端 id 由远程目标分配,并且此值用于将消息从远程目标传送到合适的 MessageAgent。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get clientId():String
connected | 属性 |
connected:Boolean
[只读] 语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
指示此 MessageAgent 当前是否已通过其 ChannelSet 连接到了其目标。此属性发生更改时调度 propertyChange
事件。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get connected():Boolean
destination | 属性 |
destination:String
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对 MessageAgent 的目标的访问。更改目标将断开 MessageAgent 的连接(如果当前已连接)。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get destination():String
public function set destination(value:String):void
引发
InvalidDestinationError — 如果目标为 null 或长度为 0。
|
requestTimeout | 属性 |
requestTimeout:int
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
提供对已发送消息的请求超时(以秒为单位)的访问。如果在达到超时之前未从远程目标收到确认、响应或错误,则消息将在客户端上出错。如果值小于 0 或等于 0,则可阻止请求超时的发生。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get requestTimeout():int
public function set requestTimeout(value:int):void
MessageAgent | () | 构造函数 |
public function MessageAgent()
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
acknowledge | () | 方法 |
public function acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
收到已发送消息的结果时由 MessageResponder 调用。如果子类需要执行自定义确认处理,它们可能会覆盖此方法,但是同时还必须调用 super.acknowledge()
。此方法将调度 MessageAckEvent。
参数
ackMsg:AcknowledgeMessage — 返回的 AcknowledgMessage。
| |
msg:IMessage — 原始已发送消息。
|
channelConnectHandler | () | 方法 |
public function channelConnectHandler(event:ChannelEvent):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
处理 CONNECT ChannelEvent。需要执行自定义处理的子类将覆盖此方法,并调用 super.channelConnectHandler()
。
参数
event:ChannelEvent — ChannelEvent。
|
channelDisconnectHandler | () | 方法 |
public function channelDisconnectHandler(event:ChannelEvent):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
处理 DISCONNECT ChannelEvent。需要执行自定义处理的子类将覆盖此方法,并调用 super.channelDisconnectHandler()
。
参数
event:ChannelEvent — ChannelEvent。
|
channelFaultHandler | () | 方法 |
public function channelFaultHandler(event:ChannelFaultEvent):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
处理 ChannelFaultEvent。需要执行自定义处理的子类将覆盖此方法,并调用 super.channelFaultHandler()
。
参数
event:ChannelFaultEvent — ChannelFaultEvent
|
disconnect | () | 方法 |
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 |
断开 MessageAgent 的网络连接的连接。此方法不会等待未完成的网络操作完成。
fault | () | 方法 |
public function fault(errMsg:ErrorMessage, msg:IMessage):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
收到已发送消息的错误时由 MessageResponder 调用。如果子类需要执行自定义错误处理,它们可能会覆盖此方法,但是同时还必须调用 super.fault()
。此方法将调度 MessageFaultEvent。
参数
errMsg:ErrorMessage — ErrorMessage。
| |
msg:IMessage — 导致此错误的原始已发送消息。
|
handleAuthenticationFault | () | 方法 |
protected function handleAuthenticationFault(errMsg:ErrorMessage, msg:IMessage):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
处理服务器上的身份验证错误。如果经过身份验证的标志为 true,则身份验证错误一定是由服务器上的会话过期导致的。将经过身份验证的状态设置为 false,而且如果启用了 loginAfterDisconnect 标志,则通过再次断开连接并重新发送消息将凭据重新发送到服务器。
参数
errMsg:ErrorMessage — 错误消息。
| |
msg:IMessage — 导致错误并应在用户断开连接/连接由此导致的身份重新验证后立即重新发送的消息。
|
hasPendingRequestForMessage | () | 方法 |
public function hasPendingRequestForMessage(msg:IMessage):Boolean
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果存在传入消息的任何挂起的请求,则返回 true。子类将覆盖此方法
参数
msg:IMessage — 已针对其检查是否存在挂起请求的消息。
|
Boolean — 如果对传入的消息有任何挂起的请求,则返回 true 。
|
initChannelSet | () | 方法 |
initialized | () | 方法 |
public function initialized(document:Object, id:String):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
在创建了实现对象、并分配了标签上指定的所有属性后调用。
参数
document:Object — 创建此对象的 MXML 文档。
| |
id:String — 文档用于引用此对象的 id。如果该对象是文档上的深层属性,则 id 为 null。
|
internalSend | () | 方法 |
protected function internalSend(message:IMessage, waitForClientId:Boolean = true):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
使用代理的 ChannelSet 将 Message 从 MessageAgent 发送到其目标。MessageAgent 子类必须使用此方法发送其消息。
参数
message:IMessage — 要发送的消息。
| |
waitForClientId:Boolean (default = true ) — 如果为 true,消息可能会排列到队列中,直到为代理分配了 clientId。通常,这是所需行为。对于特殊行为(自动重新连接和重新订阅),代理可能传递 false 来覆盖默认队列行为。
|
引发
InvalidDestinationError — 如果未设置目标。
|
logout | () | 方法 |
public function logout():void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
从其远程目标注销 MessageAgent。从目标中注销适用于使用在服务器配置中指定的同一 ChannelSet 连接的所有对象。例如,如果多个 DataService 组件通过 RTMP 通道进行连接,为它们其中之一调用 logout()
时,使用相同 ChannelSet 进行连接的所有其他客户端组件也会注销。
注意:Adobe 建议使用 mx.messaging.ChannelSet.logout() 方法而不是此方法。
相关 API 元素
reAuthorize | () | 方法 |
setCredentials | () | 方法 |
public function setCredentials(username:String, password:String, charset:String = null):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
设置 MessageAgent 用于对目标进行身份验证的凭据。凭据适用于通过相同 ChannelSet 连接的所有服务。
参数
username:String — 用户名。
| |
password:String — 密码。
| |
charset:String (default = null ) — 对凭据进行编码时使用的字符集编码。默认值为 null,表示旧字符集 ISO-Latin-1。其它受支持的字符集仅有“UTF-8”。
|
引发
IllegalOperationError — 适用于两种情况:已设置凭据并且正在对远程目标进行身份验证;已经过身份验证,但指定的凭据与当前已经过身份验证的凭据不匹配。
|
setRemoteCredentials | () | 方法 |
public function setRemoteCredentials(username:String, password:String, charset:String = null):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
设置将传递到远程目标以对次系统进行身份验证的远程凭据。
参数
username:String — 用户名。
| |
password:String — 密码。
| |
charset:String (default = null ) — 对远程凭据进行编码时使用的字符集编码。默认值为 null,表示旧字符集 ISO-Latin-1。当前受支持的唯一其他选项是“UTF-8”。
|
acknowledge | 事件 |
mx.messaging.events.MessageAckEvent
属性 MessageAckEvent.type =
mx.messaging.events.MessageAckEvent.ACKNOWLEDGE
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3, BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1, Flash Player 9, AIR 1.1 |
收到已发送消息的确认消息时调度。
ACKNOWLEDGE 事件类型;当收到确认消息时调度。此常量的值为 "acknowledge"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
acknowledgeMessage | 从 MessageEvent 获取 message 属性作为 AcknowledgeMessage 的实用程序属性。 |
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
correlate | 与此确认相关的原始 Message。 |
message | 与此事件相关联的 Message。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
channelConnect | 事件 |
mx.messaging.events.ChannelEvent
属性 ChannelEvent.type =
mx.messaging.events.ChannelEvent.CONNECT
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
MessageAgent 使用的基础 Channel 建立连接时调度。
CONNECT 事件类型;指示 Channel 已连接到其端点。此常量的值为 "channelConnect"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
channel | 生成此事件的通道。 |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
reconnecting | 指示是否正在重新连接生成此事件的通道。 |
rejected | 指示是否已拒绝生成此事件的通道。如果通道因处于不活动状态而断开连接,并且不会尝试故障转移或连接到备用通道,则此属性将为 true。 |
channelDisconnect | 事件 |
mx.messaging.events.ChannelEvent
属性 ChannelEvent.type =
mx.messaging.events.ChannelEvent.DISCONNECT
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
MessageAgent 使用的基础 Channel 断开连接时调度。
DISCONNECT 事件类型;指示 Channel 已与其端点断开连接。此常量的值为 "channelDisconnect"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
channel | 生成此事件的通道。 |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
reconnecting | 指示是否正在重新连接生成此事件的通道。 |
rejected | 指示是否已拒绝生成此事件的通道。如果通道因处于不活动状态而断开连接,并且不会尝试故障转移或连接到备用通道,则此属性将为 true。 |
channelFault | 事件 |
mx.messaging.events.ChannelFaultEvent
属性 ChannelFaultEvent.type =
mx.messaging.events.ChannelFaultEvent.FAULT
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
MessageAgent 使用的基础 Channel 出错时调度。
FAULT 事件类型;指示发生错误的 Channel。此常量的值为 "channelFault"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
channel | 生成此事件的 Channel。 |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
faultCode | 提供有关此失败的特定于目标的详细信息。 |
faultDetail | 提供对此失败特定于目标的原因的访问权限。 |
faultString | 如果通道本身未引发失败,则提供对此失败根本原因的访问权限。 |
reconnecting | 指示是否正在重新连接生成此事件的通道。 |
rootCause | 如果通道本身未引发失败,则提供对此失败根本原因的访问权限。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
fault | 事件 |
mx.messaging.events.MessageFaultEvent
属性 MessageFaultEvent.type =
mx.messaging.events.MessageFaultEvent.FAULT
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
发生消息错误时调度。
FAULT 事件类型;当消息发生错误时调度。此常量的值为 "fault"
。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
faultCode | 提供有关此失败的特定于目标的详细信息。 |
faultDetail | 提供对此失败特定于目标的原因的访问权限。 |
faultString | 如果通道本身未引发失败,则提供对此失败根本原因的访问权限。 |
message | 此事件的 ErrorMessage。 |
rootCause | 提供对此失败的根本原因的访问权限(如果存在)。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
propertyChange | 事件 |
mx.events.PropertyChangeEvent
属性 PropertyChangeEvent.type =
mx.events.PropertyChangeEvent.PROPERTY_CHANGE
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
MessageAgent 的 connected
属性发生更改时调度。Consumer 的 subscribed
发生更改时也会调度。
PropertyChangeEvent.PROPERTY_CHANGE
常量可为 PropertyChange
事件定义事件对象的 type
属性的值。
事件对象的属性有下列值:
属性 | 值 |
---|---|
bubbles | 由构造函数确定;默认值为 false。 |
cancelable | 由构造函数确定;默认值为 false。 |
kind | 更改类型;PropertyChangeEventKind.UPDATE 或 PropertyChangeEventKind.DELETE。 |
oldValue | 原始属性值。 |
newValue | 新属性值(如果有)。 |
property | 更改的属性。 |
source | 包含更改属性的对象。 |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
相关 API 元素
Tue Jun 12 2018, 11:04 AM Z