(仅限 BlazeDS)
mx.messaging
public class AbstractProducer
继承AbstractProducer Inheritance MessageAgent Inheritance EventDispatcher Inheritance Object
子类 MultiTopicProducer, Producer

AbstractProducer 是 Producer 和 MultiTopicConsumer 类的基类。您可以使用这些类向服务器推送消息。



公共属性
 属性定义方
 Inheritedauthenticated : Boolean
[只读 (read-only)] 指示此 MessageAgent 是否使用指向其目标的经过身份验证的连接。
MessageAgent
  autoConnect : Boolean
如果为 true,则 Producer 将在第一次调用 send() 方法时自动连接到其目标。
AbstractProducer
 InheritedchannelSet : ChannelSet
提供对 MessageAgent 使用的 ChannelSet 的访问。
MessageAgent
 InheritedclientId : String
[只读 (read-only)] 提供对 MessageAgent 的客户端 id 的访问。
MessageAgent
 Inheritedconnected : Boolean
[只读 (read-only)] 指示此 MessageAgent 当前是否已通过其 ChannelSet 连接到了其目标。
MessageAgent
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  defaultHeaders : Object
要应用于 Producer 发送的消息的默认标头。
AbstractProducer
 Inheriteddestination : String
提供对 MessageAgent 的目标的访问。
MessageAgent
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  reconnectAttempts : int
Producer 在目标不可用或连接到目标关闭的情况下进行的重新连接尝试次数。
AbstractProducer
  reconnectInterval : int
重新连接尝试之间间隔的毫秒数。
AbstractProducer
 InheritedrequestTimeout : int
提供对已发送消息的请求超时(以秒为单位)的访问。
MessageAgent
公共方法
 方法定义方
 Inherited
收到已发送消息的结果时由 MessageResponder 调用。
MessageAgent
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。
EventDispatcher
 Inherited
处理 CONNECT ChannelEvent。
MessageAgent
 Inherited
处理 DISCONNECT ChannelEvent。
MessageAgent
 Inherited
处理 ChannelFaultEvent。
MessageAgent
  
将 Producer 连接到其目标。
AbstractProducer
  
断开 Producer 与其远程目标之间的连接。
AbstractProducer
 Inherited
将事件调度到事件流中。
EventDispatcher
 Inherited
收到已发送消息的错误时由 MessageResponder 调用。
MessageAgent
 Inherited
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。
EventDispatcher
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
如果存在传入消息的任何挂起的请求,则返回 true。
MessageAgent
 Inherited
在创建了实现对象、并分配了标签上指定的所有属性后调用。
MessageAgent
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
从其远程目标注销 MessageAgent。
MessageAgent
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
从 EventDispatcher 对象中删除侦听器。
EventDispatcher
  
send(message:IMessage):void
向其目标发送指定的消息。
AbstractProducer
 Inherited
setCredentials(username:String, password:String, charset:String = null):void
设置 MessageAgent 用于对目标进行身份验证的凭据。
MessageAgent
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
setRemoteCredentials(username:String, password:String, charset:String = null):void
设置将传递到远程目标以对次系统进行身份验证的远程凭据。
MessageAgent
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
 Inherited
检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。
EventDispatcher
受保护的方法
 方法定义方
 Inherited
用于首次连接之前自动初始化 MessageAgent 的 channelSet 属性。
MessageAgent
 Inherited
internalSend(message:IMessage, waitForClientId:Boolean = true):void
使用代理的 ChannelSet 将 Message 从 MessageAgent 发送到其目标。
MessageAgent
 Inherited
子类将覆盖此函数来实现由特定于它们的服务器会话超时行为而导致的重新身份验证。
MessageAgent
事件
 事件 摘要 定义方
 Inherited收到已发送消息的确认消息时调度。MessageAgent
 Inherited[广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。EventDispatcher
 InheritedMessageAgent 使用的基础 Channel 建立连接时调度。MessageAgent
 InheritedMessageAgent 使用的基础 Channel 断开连接时调度。MessageAgent
 InheritedMessageAgent 使用的基础 Channel 出错时调度。MessageAgent
 Inherited[广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。EventDispatcher
 Inherited发生消息错误时调度。MessageAgent
 InheritedMessageAgent 的连接属性发生更改时调度。MessageAgent
属性详细信息
autoConnect属性
autoConnect:Boolean  [读写]

如果为 true,则 Producer 将在第一次调用 send() 方法时自动连接到其目标。如果为 false,必须显式调用 connect() 方法才能建立与目标的连接。默认情况下,此属性为 true,但需要在脱机模式下操作的应用程序可能将此属性设置为 false,以防止 send() 方法隐式连接。

此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange 事件。



实现
    public function get autoConnect():Boolean
    public function set autoConnect(value:Boolean):void
defaultHeaders属性 
defaultHeaders:Object  [读写]

要应用于 Producer 发送的消息的默认标头。将创建消息中不存在的任何默认标头。如果消息已包含匹配的标头,则消息中的值优先,并忽略默认标头值。

此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange 事件。



实现
    public function get defaultHeaders():Object
    public function set defaultHeaders(value:Object):void
reconnectAttempts属性 
reconnectAttempts:int  [读写]

Producer 在目标不可用或连接到目标关闭的情况下进行的重新连接尝试次数。如果值为 -1,则可以无限制地尝试。如果值为 0,则无法尝试重新连接。

根据重新连接间隔值以恒定速率尝试重新连接。如果在 Producer 的基础通道未连接或正在尝试连接时尝试重新连接,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Producer 重新连接尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。

此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange 事件。



实现
    public function get reconnectAttempts():int
    public function set reconnectAttempts(value:int):void

另请参见

reconnectInterval属性 
reconnectInterval:int  [读写]

重新连接尝试之间间隔的毫秒数。如果 Producer 未收到尝试连接的确认,则它将等待指定的毫秒数,然后再尝试进行接下来的重新连接。将值设置为 0 将无法尝试重新连接。

根据此值以恒定速率尝试重新连接。如果在 Producer 的基础通道未连接或正在尝试连接时尝试重新连接,则该通道将开始尝试重新连接。在基础通道连接尝试正在进行时发生的后续 Producer 重新连接尝试将被有效忽略,直到正在进行的通道连接尝试成功或失败。

此属性可用作数据绑定的源。修改此属性后,将调度 propertyChange 事件。



实现
    public function get reconnectInterval():int
    public function set reconnectInterval(value:int):void

引发
ArgumentError — 如果分配的值为负数。

另请参见

方法详细信息
connect()方法
public function connect():void

将 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

断开 Producer 与其远程目标之间的连接。此方法不会等待未完成的网络操作完成。调用 disconnect() 之后,Producer 将报告其未连接,并且不会收到任何未完成的消息确认或错误。如果正在尝试重新连接,断开连接会停止自动重新连接的尝试。

send()方法 
public function send(message:IMessage):void

向其目标发送指定的消息。如果使用 producer 发布/订阅消息传递,则除非使用自定义消息类型,并且服务器上的消息目标已配置为处理自定义消息类型,否则只可以发送 AsyncMessage 类型的消息。

参数

message:IMessage — 要发送的 Message。


引发
InvalidDestinationError — 如果未设置目标。

示例
如何使用示例
var producer:Producer = new Producer();
         producer.destination = "TestTopic";
         var msg:AsyncMessage = new AsyncMessage();
         msg.body = "test message";
         producer.send(msg);