包 | mx.messaging |
类 | public class AbstractProducer |
继承 | AbstractProducer MessageAgent EventDispatcher Object |
子类 | MultiTopicProducer, Producer |
语言版本: | 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 | ||
autoConnect : Boolean
如果为 true,则 Producer 将在第一次调用 send() 方法时自动连接到其目标。 | AbstractProducer | ||
channelSet : ChannelSet
提供对 MessageAgent 使用的 ChannelSet 的访问。 | MessageAgent | ||
clientId : String [只读]
提供对 MessageAgent 的客户端 id 的访问。 | MessageAgent | ||
connected : Boolean [只读]
指示此 MessageAgent 当前是否已通过其 ChannelSet 连接到了其目标。 | MessageAgent | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
defaultHeaders : Object
要应用于 Producer 发送的消息的默认标头。 | AbstractProducer | ||
destination : String
提供对 MessageAgent 的目标的访问。 | MessageAgent | ||
priority : int
制作程序发送的消息的默认消息优先级。 | AbstractProducer | ||
reconnectAttempts : int
Producer 在目标不可用或连接到目标关闭的情况下进行的重新连接尝试次数。 | AbstractProducer | ||
reconnectInterval : int
重新连接尝试之间间隔的毫秒数。 | AbstractProducer | ||
requestTimeout : int
提供对已发送消息的请求超时(以秒为单位)的访问。 | 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 | ||
将 Producer 连接到其目标。 | AbstractProducer | ||
[覆盖]
断开 Producer 与其远程目标之间的连接。 | AbstractProducer | ||
将事件调度到事件流中。 | EventDispatcher | ||
收到已发送消息的错误时由 MessageResponder 调用。 | MessageAgent | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
如果存在传入消息的任何挂起的请求,则返回 true。 | MessageAgent | ||
在创建了实现对象、并分配了标签上指定的所有属性后调用。 | MessageAgent | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
从其远程目标注销 MessageAgent。 | MessageAgent | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
向其目标发送指定的消息。 | AbstractProducer | ||
设置 MessageAgent 用于对目标进行身份验证的凭据。 | MessageAgent | ||
设置循环操作动态属性的可用性。 | Object | ||
设置将传递到远程目标以对次系统进行身份验证的远程凭据。 | MessageAgent | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
autoConnect | 属性 |
autoConnect:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果为 true
,则 Producer 将在第一次调用 send()
方法时自动连接到其目标。如果为 false
,必须显式调用 connect()
方法才能建立与目标的连接。默认情况下,此属性为 true
,但需要在脱机模式下操作的应用程序可能将此属性设置为 false
,以防止 send()
方法隐式连接。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get autoConnect():Boolean
public function set autoConnect(value:Boolean):void
defaultHeaders | 属性 |
defaultHeaders:Object
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
要应用于 Producer 发送的消息的默认标头。将创建消息中不存在的任何默认标头。如果消息已包含匹配的标头,则消息中的值优先,并忽略默认标头值。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get defaultHeaders():Object
public function set defaultHeaders(value:Object):void
priority | 属性 |
priority:int
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
制作程序发送的消息的默认消息优先级。有效值是 0 到 9(0 表示最低优先级),值 -1 表示制作程序未设置优先级。请注意,如果消息已定义优先级,则该优先级优先于制作程序设置的优先级。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get priority():int
public function set priority(value:int):void
reconnectAttempts | 属性 |
reconnectAttempts:int
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
Producer 在目标不可用或连接到目标关闭的情况下进行的重新连接尝试次数。如果值为 -1,则可以无限制地尝试。如果值为 0,则无法尝试重新连接。
根据重新连接间隔值以恒定速率尝试重新连接。如果在 Producer 的基础通道未连接或正在尝试连接时尝试重新连接,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Producer 重新连接尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get reconnectAttempts():int
public function set reconnectAttempts(value:int):void
相关 API 元素
reconnectInterval | 属性 |
reconnectInterval:int
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
重新连接尝试之间间隔的毫秒数。如果 Producer 未收到尝试连接的确认,则它将等待指定的毫秒数,然后再尝试进行接下来的重新连接。将值设置为 0 将无法尝试重新连接。
根据此值以恒定速率尝试重新连接。如果在 Producer 的基础通道未连接或正在尝试连接时尝试重新连接,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Producer 重新连接尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。
此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange
事件。
实现
public function get reconnectInterval():int
public function set reconnectInterval(value:int):void
引发
ArgumentError — 如果分配的值为负数。
|
相关 API 元素
connect | () | 方法 |
public function connect():void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
将 Producer 连接到其目标。建立连接后,connected
属性将变为 true
,而此属性为可绑定,并生成 PropertyChangeEvent
。根据基础通道是否建立其连接,所发送的内部 TRIGGER_CONNECT_OPERATION CommandMessage 将产生确认或错误事件。
引发
InvalidDestinationError — 如果未设置目标。
|
示例
如何使用本示例
var producer:Producer = new Producer(); producer.destination = "TestTopic"; producer.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, handleConnect); producer.connect();
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 |
断开 Producer 与其远程目标之间的连接。此方法不会等待未完成的网络操作完成。调用 disconnect()
之后,Producer 将报告其未连接,并且不会收到任何未完成的消息确认或错误。如果正在尝试重新连接,断开连接会停止自动重新连接的尝试。
send | () | 方法 |
public function send(message:IMessage):void
语言版本: | ActionScript 3.0 |
产品版本: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
向其目标发送指定的消息。如果使用 producer 发布/订阅消息传递,则除非使用自定义消息类型,并且服务器上的消息目标已配置为处理自定义消息类型,否则只可以发送 AsyncMessage 类型的消息。
参数
message:IMessage — 要发送的消息。
|
引发
InvalidDestinationError — 如果未设置目标。
|
示例
如何使用本示例
var producer:Producer = new Producer(); producer.destination = "TestTopic"; var msg:AsyncMessage = new AsyncMessage(); msg.body = "test message"; producer.send(msg);
Tue Jun 12 2018, 11:04 AM Z