| Package | mx.messaging | 
| Class | public class MessageAgent | 
| Inheritance | MessageAgent    EventDispatcher   Object | 
| Implements | IMXMLObject | 
| Subclasses | AbstractConsumer, AbstractProducer | 
Note: For advanced use only. Use this class for creating custom message agents like the existing Producer and Consumer classes.
MXML Syntax
Hide MXML SyntaxAll 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." />
| Property | Defined By | ||
|---|---|---|---|
| authenticated : Boolean [read-only] 
      Indicates if this MessageAgent is using an authenticated connection to
      its destination.  | MessageAgent | ||
| channelSet : ChannelSet 
      Provides access to the ChannelSet used by the MessageAgent.  | MessageAgent | ||
| clientId : String [read-only] 
      Provides access to the client id for the MessageAgent.  | MessageAgent | ||
| connected : Boolean [read-only] 
      Indicates whether this MessageAgent is currently connected to its
      destination via its ChannelSet.  | MessageAgent | ||
![]()  | constructor : Object 
	 A reference to the class object or constructor function for a given object instance.  | Object | |
| destination : String 
      Provides access to the destination for the MessageAgent.  | MessageAgent | ||
![]()  | prototype : Object [static] 
	 A reference to the prototype object of a class or function object.  | Object | |
| requestTimeout : int 
      Provides access to the request timeout in seconds for sent messages.  | MessageAgent | ||
| Method | Defined By | ||
|---|---|---|---|
      Constructor.  | MessageAgent | ||
      Invoked by a MessageResponder upon receiving a result for a sent
      message.  | MessageAgent | ||
![]()  | 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 | |
      Handles a CONNECT ChannelEvent.  | MessageAgent | ||
      Handles a DISCONNECT ChannelEvent.  | MessageAgent | ||
      Handles a ChannelFaultEvent.  | MessageAgent | ||
      Disconnects the MessageAgent's network connection.  | MessageAgent | ||
![]()  | 
	Dispatches an event into the event flow.  | EventDispatcher | |
      Invoked by a MessageResponder upon receiving a fault for a sent message.  | MessageAgent | ||
![]()  | 
	Checks whether the EventDispatcher object has any listeners registered for a specific type 
	of event.  | EventDispatcher | |
![]()  | 
	 Indicates whether an object has a specified property defined.  | Object | |
    Returns true if there are any pending requests for the passed in message.  | MessageAgent | ||
      Called after the implementing object has been created
      and all properties specified on the tag have been assigned.  | MessageAgent | ||
![]()  | 
	 Indicates whether an instance of the Object class is in the prototype chain of the object specified 
	 as the parameter.  | Object | |
      Logs the MessageAgent out from its remote destination.  | MessageAgent | ||
![]()  | 
	 Indicates whether the specified property exists and is enumerable.  | Object | |
![]()  | 
	Removes a listener from the EventDispatcher object.  | EventDispatcher | |
      Sets the credentials that the MessageAgent uses to authenticate to
      destinations.  | MessageAgent | ||
![]()  | 
     Sets the availability of a dynamic property for loop operations.  | Object | |
      Sets the remote credentials that will be passed through to the remote destination
      for authenticating to secondary systems.  | MessageAgent | ||
![]()  | 
	 Returns the string representation of this object, formatted according to locale-specific conventions.  | Object | |
![]()  | 
	 Returns the string representation of the specified object.  | Object | |
![]()  | 
	 Returns the primitive value of the specified object.  | Object | |
![]()  | 
	Checks whether an event listener is registered with this EventDispatcher object or any of 
	its ancestors for the specified event type.  | EventDispatcher | |
| Method | Defined By | ||
|---|---|---|---|
      Used to automatically initialize the channelSet property for the
      MessageAgent before it connects for the first time.  | MessageAgent | ||
      Sends a Message from the MessageAgent to its destination using the
      agent's ChannelSet.  | MessageAgent | ||
     This function should be overriden by sublasses to implement re-authorization due to
     server session time-out behavior specific to them.  | MessageAgent | ||
| Event | Summary | Defined By | ||
|---|---|---|---|---|
| Dispatched when an acknowledge message is received for a sent message. | MessageAgent | |||
![]()  | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher | ||
| Dispatched when the underlying Channel the MessageAgent is using connects. | MessageAgent | |||
| Dispatched when the underlying Channel the MessageAgent is using disconnects. | MessageAgent | |||
| Dispatched when the underlying Channel the MessageAgent is using faults. | MessageAgent | |||
![]()  | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher | ||
| Dispatched when a message fault occurs. | MessageAgent | |||
| Dispatched when the connected property of the MessageAgent changes. | MessageAgent | |||
| authenticated | property | 
authenticated:Boolean  [read-only] Indicates if this MessageAgent is using an authenticated connection to its destination.
This property can be used as the source for data binding. When this property is modified, it dispatches the  propertyChange                 event.
    public function get authenticated():Boolean| channelSet | property | 
channelSet:ChannelSetProvides access to the ChannelSet used by the MessageAgent. The ChannelSet can be manually constructed and assigned, or it will be dynamically initialized to use the configured Channels for the destination for this MessageAgent.
This property can be used as the source for data binding. When this property is modified, it dispatches the  propertyChange                 event.
    public function get channelSet():ChannelSet    public function set channelSet(value:ChannelSet):void| clientId | property | 
clientId:String  [read-only] Provides access to the client id for the MessageAgent. MessageAgents are assigned their client id by the remote destination and this value is used to route messages from the remote destination to the proper MessageAgent.
This property can be used as the source for data binding. When this property is modified, it dispatches the  propertyChange                 event.
    public function get clientId():String| connected | property | 
connected:Boolean  [read-only] 
      Indicates whether this MessageAgent is currently connected to its
      destination via its ChannelSet. The propertyChange event is dispatched when
      this property changes.
     
This property can be used as the source for data binding. When this property is modified, it dispatches the  propertyChange                 event.
    public function get connected():Boolean| destination | property | 
destination:StringProvides access to the destination for the MessageAgent. Changing the destination will disconnect the MessageAgent if it is currently connected.
This property can be used as the source for data binding. When this property is modified, it dispatches the  propertyChange                 event.
    public function get destination():String    public function set destination(value:String):voidInvalidDestinationError  — If the destination is null or
                                      zero-length.
      | 
| requestTimeout | property | 
requestTimeout:intProvides access to the request timeout in seconds for sent messages. If an acknowledgement, response or fault is not received from the remote destination before the timeout is reached the message is faulted on the client. A value less than or equal to zero prevents request timeout.
This property can be used as the source for data binding. When this property is modified, it dispatches the  propertyChange                 event.
    public function get requestTimeout():int    public function set requestTimeout(value:int):void| MessageAgent | () | Constructor | 
public function MessageAgent()Constructor.
| acknowledge | () | method | 
 public function acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void
      Invoked by a MessageResponder upon receiving a result for a sent
      message. Subclasses may override this method if they need to perform
      custom acknowledgement processing, but must invoke
      super.acknowledge() as well. This method dispatches a
      MessageAckEvent.
     
      
Parameters
ackMsg:AcknowledgeMessage — The AcknowledgMessage returned.
     
       | |
msg:IMessage — The original sent message.
      | 
| channelConnectHandler | () | method | 
 public function channelConnectHandler(event:ChannelEvent):void
      Handles a CONNECT ChannelEvent. Subclasses that need to perform custom
      processing should override this method, and invoke
      super.channelConnectHandler().
     
      
Parameters
event:ChannelEvent — The ChannelEvent.
      | 
| channelDisconnectHandler | () | method | 
 public function channelDisconnectHandler(event:ChannelEvent):void
      Handles a DISCONNECT ChannelEvent. Subclasses that need to perform
      custom processing should override this method, and invoke
      super.channelDisconnectHandler().
     
      
Parameters
event:ChannelEvent — The ChannelEvent.
      | 
| channelFaultHandler | () | method | 
 public function channelFaultHandler(event:ChannelFaultEvent):void
      Handles a ChannelFaultEvent. Subclasses that need to perform custom
      processing should override this method, and invoke
      super.channelFaultHandler().
     
      
Parameters
event:ChannelFaultEvent — ChannelFaultEvent
      | 
| disconnect | () | method | 
 public function disconnect():voidDisconnects the MessageAgent's network connection. This method does not wait for outstanding network operations to complete.
| fault | () | method | 
 public function fault(errMsg:ErrorMessage, msg:IMessage):void
      Invoked by a MessageResponder upon receiving a fault for a sent message.
      Subclasses may override this method if they need to perform custom fault
      processing, but must invoke super.fault() as well. This
      method dispatchs a MessageFaultEvent.
     
      
Parameters
errMsg:ErrorMessage — The ErrorMessage.
     
       | |
msg:IMessage — The original sent message that caused this fault.
      | 
| hasPendingRequestForMessage | () | method | 
 public function hasPendingRequestForMessage(msg:IMessage):BooleanReturns true if there are any pending requests for the passed in message. This method should be overriden by subclasses
Parameters
msg:IMessage — The message for which the existence of pending requests is checked.
    
     | 
Boolean — Returns true if there are any pending requests for the
    passed in message.
     | 
| initChannelSet | () | method | 
 protected function initChannelSet(message:IMessage):void
      Used to automatically initialize the channelSet property for the
      MessageAgent before it connects for the first time.
      Subtypes may override to perform custom initialization.
     
      
Parameters
message:IMessage — The message that needs to be sent.
      | 
| initialized | () | method | 
 public function initialized(document:Object, id:String):voidCalled after the implementing object has been created and all properties specified on the tag have been assigned.
Parameters
document:Object — MXML document that created this object.
     
       | |
id:String — id used by the document to refer to this object.
      If the object is a deep property on the document, id is null.
      | 
| internalSend | () | method | 
 protected function internalSend(message:IMessage, waitForClientId:Boolean = true):voidSends a Message from the MessageAgent to its destination using the agent's ChannelSet. MessageAgent subclasses must use this method to send their messages.
Parameters
message:IMessage — The message to send.
     
       | |
waitForClientId:Boolean (default = true) — If true the message may be queued until a clientId has been
                             assigned to the agent. In general this is the desired behavior.
                             For special behavior (automatic reconnect and resubscribe) the
                             agent may pass false to override the default queuing behavior.
     
       | 
InvalidDestinationError  — If no destination is set.
      | 
| logout | () | method | 
 public function logout():void
      Logs the MessageAgent out from its remote destination.
      Logging out of a destination applies to everything connected using the same ChannelSet
      as specified in the server configuration. For example, if several DataService components
      are connected over an RTMP channel and logout() is invoked on one of them,
      all other client components that are connected using the same ChannelSet are also logged out.
     
      
Note: Adobe recommends that you use the mx.messaging.ChannelSet.logout() method rather than this method.
See also
| reAuthorize | () | method | 
 protected function reAuthorize(msg:IMessage):voidThis function should be overriden by sublasses to implement re-authorization due to server session time-out behavior specific to them. In general it should follow disconnect, connect, re-send message pattern
Parameters
msg:IMessage — The message that caused the fault and should be resent once we have
      disconnected/connected causing re-authentication.
      | 
| setCredentials | () | method | 
 public function setCredentials(username:String, password:String, charset:String = null):voidSets the credentials that the MessageAgent uses to authenticate to destinations. The credentials are applied to all services connected over the same ChannelSet.
Parameters
username:String — The username.
       | |
password:String — The password.
       | |
charset:String (default = null) — The character set encoding to use while encoding the
      credentials. The default is null, which implies the legacy charset of
      ISO-Latin-1. The only other supported charset is "UTF-8".
     
       | 
IllegalOperationError  — in two situations; if credentials
      have already been set and an authentication is in progress with the remote
      detination, or if authenticated and the credentials specified don't match
      the currently authenticated credentials.
      | 
| setRemoteCredentials | () | method | 
 public function setRemoteCredentials(username:String, password:String, charset:String = null):voidSets the remote credentials that will be passed through to the remote destination for authenticating to secondary systems.
Parameters
username:String — The username.
       | |
password:String — The password.
       | |
charset:String (default = null) — The character set encoding to use while encoding the
      remote credentials. The default is null, which implies the legacy
      charset of ISO-Latin-1. The only other currently supported option is
      "UTF-8".
      | 
| acknowledge | Event | 
mx.messaging.events.MessageAckEventmx.messaging.events.MessageAckEvent.ACKNOWLEDGEDispatched when an acknowledge message is received for a sent message.
The ACKNOWLEDGE event type; dispatched upon receipt of an acknowledgement.The value of this constant is "acknowledge".
The properties of the event object have the following values:
| Property | Value | 
|---|---|
acknowledgeMessage | Utility property to get the message property from MessageEvent as an AcknowledgeMessage. | 
bubbles | false | 
cancelable | false | 
currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use 
           myButton.addEventListener() to register an event listener, 
           myButton is the value of the currentTarget. | 
correlate | The original Message correlated with this acknowledgement. | 
message | The Message associated with this event. | 
target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTarget property to always access the 
           Object listening for the event. | 
| channelConnect | Event | 
mx.messaging.events.ChannelEventmx.messaging.events.ChannelEvent.CONNECTDispatched when the underlying Channel the MessageAgent is using connects.
The CONNECT event type; indicates that the Channel connected to its endpoint.The value of this constant is "channelConnect".
The properties of the event object have the following values:
| Property | Value | 
|---|---|
bubbles | false | 
cancelable | false | 
channel | The channel that generated this event. | 
currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use 
           myButton.addEventListener() to register an event listener, 
           myButton is the value of the currentTarget.  | 
target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTarget property to always access the 
           Object listening for the event. | 
reconnecting | Indicates whether the channel that generated this event is reconnecting. | 
rejected | Indicates whether the channel that generated this event was rejected. This would be true in the event that the channel has been disconnected due to inactivity and should not attempt to failover or connect on an alternate channel. | 
| channelDisconnect | Event | 
mx.messaging.events.ChannelEventmx.messaging.events.ChannelEvent.DISCONNECTDispatched when the underlying Channel the MessageAgent is using disconnects.
The DISCONNECT event type; indicates that the Channel disconnected from its endpoint.The value of this constant is "channelDisconnect".
The properties of the event object have the following values:
| Property | Value | 
|---|---|
bubbles | false | 
cancelable | false | 
channel | The channel that generated this event. | 
currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use 
           myButton.addEventListener() to register an event listener, 
           myButton is the value of the currentTarget.  | 
target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTarget property to always access the 
           Object listening for the event. | 
reconnecting | Indicates whether the channel that generated this event is reconnecting. | 
rejected | Indicates whether the channel that generated this event was rejected. This would be true in the event that the channel has been disconnected due to inactivity and should not attempt to failover or connect on an alternate channel. | 
| channelFault | Event | 
mx.messaging.events.ChannelFaultEventmx.messaging.events.ChannelFaultEvent.FAULTDispatched when the underlying Channel the MessageAgent is using faults.
The FAULT event type; indicates that the Channel faulted.The value of this constant is "channelFault".
The properties of the event object have the following values:
| Property | Value | 
|---|---|
bubbles | false | 
cancelable | false | 
channel | The Channel that generated this event. | 
currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use 
           myButton.addEventListener() to register an event listener, 
           myButton is the value of the currentTarget.  | 
faultCode | Provides destination-specific details of the failure. | 
faultDetail | Provides access to the destination-specific reason for the failure. | 
faultString | Provides access to the underlying reason for the failure if the channel did not raise the failure itself. | 
reconnecting | Indicates whether the channel that generated this event is reconnecting. | 
rootCause | Provides access to the underlying reason for the failure if the channel did not raise the failure itself. | 
target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTarget property to always access the 
           Object listening for the event. | 
| fault | Event | 
mx.messaging.events.MessageFaultEventmx.messaging.events.MessageFaultEvent.FAULTDispatched when a message fault occurs.
The FAULT event type; dispatched for a message fault.The value of this constant is "fault".
The properties of the event object have the following values:
| Property | Value | 
|---|---|
bubbles | false | 
cancelable | false | 
currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use 
           myButton.addEventListener() to register an event listener, 
           myButton is the value of the currentTarget.  | 
faultCode | Provides destination-specific details of the failure. | 
faultDetail | Provides access to the destination-specific reason for the failure. | 
faultString | Provides access to the underlying reason for the failure if the channel did not raise the failure itself. | 
message | The ErrorMessage for this event. | 
rootCause | Provides access to the underlying reason for the failure, if one exists. | 
target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTarget property to always access the 
           Object listening for the event. | 
| propertyChange | Event | 
mx.events.PropertyChangeEventmx.events.PropertyChangeEvent.PROPERTY_CHANGE
  Dispatched when the connected property of the MessageAgent changes.
  Also dispatched when the subscribed of a Consumer changes.
  
PropertyChangeEvent.PROPERTY_CHANGE constant defines the value of the 
      type property of the event object for a PropertyChange event.
     
      The properties of the event object have the following values:
| Property | Value | 
|---|---|
bubbles | Determined by the constructor; defaults to false. | 
cancelable | Determined by the constructor; defaults to false. | 
kind | The kind of change; PropertyChangeEventKind.UPDATE or PropertyChangeEventKind.DELETE. | 
oldValue | The original property value. | 
newValue | The new property value, if any. | 
property | The property that changed. | 
source | The object that contains the property that changed. | 
currentTarget | The Object that defines the 
           event listener that handles the event. For example, if you use 
           myButton.addEventListener() to register an event listener, 
           myButton is the value of the currentTarget.  | 
target | The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the currentTarget property to always access the 
           Object listening for the event. | 
See also