Packagemx.messaging
Classpublic class AbstractProducer
InheritanceAbstractProducer Inheritance MessageAgent Inheritance EventDispatcher Inheritance Object
Subclasses MultiTopicProducer, Producer

The AbstractProducer is the base class for the Producer and MultiTopicConsumer classes. You use these classes to push messages to the server.



Public Properties
 PropertyDefined By
 Inheritedauthenticated : Boolean
[read-only] Indicates if this MessageAgent is using an authenticated connection to its destination.
MessageAgent
  autoConnect : Boolean
If true the Producer automatically connects to its destination the first time the send() method is called.
AbstractProducer
 InheritedchannelSet : ChannelSet
Provides access to the ChannelSet used by the MessageAgent.
MessageAgent
 InheritedclientId : String
[read-only] Provides access to the client id for the MessageAgent.
MessageAgent
 Inheritedconnected : Boolean
[read-only] Indicates whether this MessageAgent is currently connected to its destination via its ChannelSet.
MessageAgent
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  defaultHeaders : Object
The default headers to apply to messages sent by the Producer.
AbstractProducer
 Inheriteddestination : String
Provides access to the destination for the MessageAgent.
MessageAgent
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  reconnectAttempts : int
The number of reconnect attempts that the Producer makes in the event that the destination is unavailable or the connection to the destination closes.
AbstractProducer
  reconnectInterval : int
The number of milliseconds between reconnect attempts.
AbstractProducer
 InheritedrequestTimeout : int
Provides access to the request timeout in seconds for sent messages.
MessageAgent
Protected Properties
 PropertyDefined By
 Inherited_agentType : String
The type of MessageAgent.
MessageAgent
 Inherited_credentials : String
The Base64 encoded credentials that will be passed through to the ChannelSet.
MessageAgent
 Inherited_credentialsCharset : String
The character set encoding used to create the credentials String.
MessageAgent
 Inherited_disconnectBarrier : Boolean
Indicates whether the agent is explicitly disconnected.
MessageAgent
 Inherited_ignoreFault : Boolean = false
Flag being set to true denotes that we should skip remaining fault processing logic because the fault has already been handled.
MessageAgent
 Inherited_log : ILogger
The logger MUST be assigned by subclasses, for example Consumer and Producer.
MessageAgent
Public Methods
 MethodDefined By
 Inherited
Invoked by a MessageResponder upon receiving a result for a sent message.
MessageAgent
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
 Inherited
Handles a CONNECT ChannelEvent.
MessageAgent
 Inherited
Handles a DISCONNECT ChannelEvent.
MessageAgent
 Inherited
Handles a ChannelFaultEvent.
MessageAgent
  
Connects the Producer to its target destination.
AbstractProducer
  
Disconnects the Producer from its remote destination.
AbstractProducer
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Invoked by a MessageResponder upon receiving a fault for a sent message.
MessageAgent
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Returns true if there are any pending requests for the passed in message.
MessageAgent
 Inherited
initialized(document:Object, id:String):void
Called after the implementing object has been created and all properties specified on the tag have been assigned.
MessageAgent
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Logs the MessageAgent out from its remote destination.
MessageAgent
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
send(message:IMessage):void
Sends the specified message to its destination.
AbstractProducer
 Inherited
setCredentials(username:String, password:String, charset:String = null):void
Sets the credentials that the MessageAgent uses to authenticate to destinations.
MessageAgent
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
setRemoteCredentials(username:String, password:String, charset:String = null):void
Sets the remote credentials that will be passed through to the remote destination for authenticating to secondary systems.
MessageAgent
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Protected Methods
 MethodDefined By
 Inherited
MessageAgent
 Inherited
Used to automatically initialize the channelSet property for the MessageAgent before it connects for the first time.
MessageAgent
 Inherited
internalSend(message:IMessage, waitForClientId:Boolean = true):void
Sends a Message from the MessageAgent to its destination using the agent's ChannelSet.
MessageAgent
 Inherited
This function should be overriden by sublasses to implement re-authorization due to server session time-out behavior specific to them.
MessageAgent
Events
 Event Summary Defined By
 Inherited Dispatched when an acknowledge message is received for a sent message.MessageAgent
 Inherited Dispatched when Flash Player or an AIR application gains operating system focus and becomes active.EventDispatcher
 Inherited Dispatched when the underlying Channel the MessageAgent is using connects.MessageAgent
 Inherited Dispatched when the underlying Channel the MessageAgent is using disconnects.MessageAgent
 Inherited Dispatched when the underlying Channel the MessageAgent is using faults.MessageAgent
 Inherited Dispatched when Flash Player or an AIR application loses operating system focus and is becoming inactive.EventDispatcher
 Inherited Dispatched when a message fault occurs.MessageAgent
 Inherited Dispatched when the connected property of the MessageAgent changes.MessageAgent
Property Detail
autoConnectproperty
autoConnect:Boolean  [read-write]

If true the Producer automatically connects to its destination the first time the send() method is called. If false then the connect() method must be called explicitly to establish a connection to the destination. By default this property is true, but applications that need to operate in an offline mode may set this to false to prevent the send() method from connecting implicitly.

This property can be used as the source for data binding.


Implementation
    public function get autoConnect():Boolean
    public function set autoConnect(value:Boolean):void
defaultHeadersproperty 
defaultHeaders:Object  [read-write]

The default headers to apply to messages sent by the Producer. Any default headers that do not exist in the message will be created. If the message already contains a matching header, the value in the message takes precedence and the default header value is ignored.

This property can be used as the source for data binding.


Implementation
    public function get defaultHeaders():Object
    public function set defaultHeaders(value:Object):void
reconnectAttemptsproperty 
reconnectAttempts:int  [read-write]

The number of reconnect attempts that the Producer makes in the event that the destination is unavailable or the connection to the destination closes. A value of -1 enables infinite attempts. A value of zero disables reconnect attempts.

Reconnect attempts are made at a constant rate according to the reconnect interval value. When a reconnect attempt is made if the underlying channel for the Producer is not connected or attempting to connect the channel will start a connect attempt. Subsequent Producer reconnect attempts that occur while the underlying channel connect attempt is outstanding are effectively ignored until the outstanding channel connect attempt succeeds or fails.

This property can be used as the source for data binding.


Implementation
    public function get reconnectAttempts():int
    public function set reconnectAttempts(value:int):void

See also

reconnectIntervalproperty 
reconnectInterval:int  [read-write]

The number of milliseconds between reconnect attempts. If a Producer does not receive an acknowledgement for a connect attempt, it will wait the specified number of milliseconds before making a subsequent reconnect attempt. Setting the value to zero disables reconnect attempts.

Reconnect attempts are made at a constant rate according to this value. When a reconnect attempt is made if the underlying channel for the Producer is not connected or attempting to connect the channel will start a connect attempt. Subsequent Producer reconnect attempts that occur while the underlying channel connect attempt is outstanding are effectively ignored until the outstanding channel connect attempt succeeds or fails.

This property can be used as the source for data binding.


Implementation
    public function get reconnectInterval():int
    public function set reconnectInterval(value:int):void

Throws
ArgumentError — If the assigned value is negative.

See also

Method Detail
connect()method
public function connect():void

Connects the Producer to its target destination. When a connection is established the connected property will change to true and this property is bindable and generates PropertyChangeEvent events. The underlying CLIENT_PING_OPERATION CommandMessage that is sent will result in an acknowledge or fault event depending upon its success.

The following example uses this method:

         var producer:Producer = new Producer();
         producer.destination = "TestTopic";
         producer.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, handleConnect);
         producer.connect();
      


Throws
InvalidDestinationError — If no destination is set.
disconnect()method 
public override function disconnect():void

Disconnects the Producer from its remote destination. This method does not wait for outstanding network operations to complete. After invoking the disconnect() method, the Producer reports that it is not connected and it will not receive any outstanding message acknowledgements or faults. Disconnecting stops automatic reconnect attempts if they are running.

send()method 
public function send(message:IMessage):void

Sends the specified message to its destination. If the producer is being used for publish/subscribe messaging, only messages of type AsyncMessage should be sent unless a custom message type is being used and the message destination on the server has been configured to process the custom message type.

The following example uses this method:

         var producer:Producer = new Producer();
         producer.destination = "TestTopic";
         var msg:AsyncMessage = new AsyncMessage();
         msg.body = "test message";
         producer.send(msg);
      

Parameters

message:IMessage — The message to send.


Throws
InvalidDestinationError — If no destination is set.