Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
MessageAgent

Package | mx.messaging
Class | public class MessageAgent
Inheritance | MessageAgent flash.events.EventDispatcher
Implements | IMXMLObject
Subclasses | AbstractConsumer, AbstractProducer

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

The MessageAgent class provides the basic low-level functionality common to message handling for a destination.

Note: For advanced use only. Use this class for creating custom message agents like the existing Producer and Consumer classes.

MXML Syntax Show MXML Syntax
Hide MXML Syntax

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."
      />

Public Properties

| 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
|  | destination : String Provides access to the destination for the MessageAgent. | MessageAgent
|  | requestTimeout : int Provides access to the request timeout in seconds for sent messages. | MessageAgent

Public Methods

| Method | Defined By
--- | --- | ---
|  | MessageAgent() Constructor. | MessageAgent
|  | acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void Invoked by a MessageResponder upon receiving a result for a sent message. | MessageAgent
|  | channelConnectHandler(event:ChannelEvent):void Handles a CONNECT ChannelEvent. | MessageAgent
|  | channelDisconnectHandler(event:ChannelEvent):void Handles a DISCONNECT ChannelEvent. | MessageAgent
|  | channelFaultHandler(event:ChannelFaultEvent):void Handles a ChannelFaultEvent. | MessageAgent
|  | disconnect():void Disconnects the MessageAgent's network connection. | MessageAgent
|  | fault(errMsg:ErrorMessage, msg:IMessage):void Invoked by a MessageResponder upon receiving a fault for a sent message. | MessageAgent
|  | hasPendingRequestForMessage(msg:IMessage):Boolean Returns true if there are any pending requests for the passed in message. | MessageAgent
|  | 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
|  | logout():void Logs the MessageAgent out from its remote destination. | MessageAgent
|  | setCredentials(username:String, password:String, charset:String = null):void Sets the credentials that the MessageAgent uses to authenticate to destinations. | MessageAgent
|  | 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

Protected Methods

| Method | Defined By
--- | --- | ---
|  | handleAuthenticationFault(errMsg:ErrorMessage, msg:IMessage):void Handles the authentication fault on the server. | MessageAgent
|  | initChannelSet(message:IMessage):void Used to automatically initialize the channelSet property for the MessageAgent before it connects for the first time. | MessageAgent
|  | internalSend(message:IMessage, waitForClientId:Boolean = true):void Sends a Message from the MessageAgent to its destination using the agent's ChannelSet. | MessageAgent
|  | reAuthorize(msg:IMessage):void This function should be overriden by sublasses to implement reauthentication due to server session time-out behavior specific to them. | MessageAgent

Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | acknowledge | Dispatched when an acknowledge message is received for a sent message. | MessageAgent
|  | channelConnect | Dispatched when the underlying Channel the MessageAgent is using connects. | MessageAgent
|  | channelDisconnect | Dispatched when the underlying Channel the MessageAgent is using disconnects. | MessageAgent
|  | channelFault | Dispatched when the underlying Channel the MessageAgent is using faults. | MessageAgent
|  | fault | Dispatched when a message fault occurs. | MessageAgent
|  | propertyChange | Dispatched when the connected property of the MessageAgent changes. | MessageAgent

Property Detail

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.

Implementation
`public function get authenticated():Boolean`

channelSet | property |

`channelSet:ChannelSet`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Provides 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.

Implementation
`public function get channelSet():ChannelSet`
`public function set channelSet(value:ChannelSet):void`

clientId | property |

`clientId:String` [read-only]

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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.

Implementation
`public function get clientId():String`

connected | property |

`connected:Boolean` [read-only]

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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.

Implementation
`public function get connected():Boolean`

destination | property |

`destination:String`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Provides 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.

Implementation
`public function get destination():String`
`public function set destination(value:String):void`
Throws

| `InvalidDestinationError` — If the destination is null or zero-length.

requestTimeout | property |

`requestTimeout:int`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Provides 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.

Implementation
`public function get requestTimeout():int`
`public function set requestTimeout(value:int):void`
Constructor Detail

MessageAgent | () | Constructor

`public function MessageAgent()`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Constructor.

Method Detail

acknowledge | () | method

`public function acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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():void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Disconnects 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`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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.

handleAuthenticationFault | () | method |

`protected function handleAuthenticationFault(errMsg:ErrorMessage, msg:IMessage):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Handles the authentication fault on the server. If the authenticated flag is true, the authentication fault must have been caused by a session expiration on the server. Set the authenticated state to false and if loginAfterDisconnect flag is enabled, resend credentials to the server by disconnecting and resending the message again.

Parameters

| `errMsg:ErrorMessage` — The Error Message.
| `msg:IMessage` — The message that caused the fault and should be resent once we have disconnected/connected causing re-authentication.

hasPendingRequestForMessage | () | method |

`public function hasPendingRequestForMessage(msg:IMessage):Boolean`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Returns 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.

Returns

| `Boolean` — Returns `true` if there are any pending requests for the passed in message.

initChannelSet | () | method |

`protected function initChannelSet(message:IMessage):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Called 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):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Sends 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.

Throws

| `InvalidDestinationError` — If no destination is set.

logout | () | method |

`public function logout():void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

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

mx.messaging.ChannelSet.logout()

reAuthorize | () | method |

`protected function reAuthorize(msg:IMessage):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

This function should be overriden by sublasses to implement reauthentication due to server session time-out behavior specific to them. In general, it should follow disconnect, connect, resend message pattern.

Parameters

| `msg:IMessage` — The message that caused the fault and should be resent once we have disconnected/connected causing reauthentication.

setCredentials | () | method |

`public function setCredentials(username:String, password:String, charset:String = null):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Sets 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".

Throws

| `flash.errors: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):void`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Sets 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".

Event Detail

acknowledge | Event

Event Object Type: `mx.messaging.events.MessageAckEvent`
MessageAckEvent.type property = `mx.messaging.events.MessageAckEvent.ACKNOWLEDGE`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3, BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1, Flash Player 9, AIR 1.1

Dispatched 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 |

Event Object Type: `mx.messaging.events.ChannelEvent`
ChannelEvent.type property = `mx.messaging.events.ChannelEvent.CONNECT`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched 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 |

Event Object Type: `mx.messaging.events.ChannelEvent`
ChannelEvent.type property = `mx.messaging.events.ChannelEvent.DISCONNECT`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched 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 |

Event Object Type: `mx.messaging.events.ChannelFaultEvent`
ChannelFaultEvent.type property = `mx.messaging.events.ChannelFaultEvent.FAULT`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched 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 |

Event Object Type: `mx.messaging.events.MessageFaultEvent`
MessageFaultEvent.type property = `mx.messaging.events.MessageFaultEvent.FAULT`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched 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 |

Event Object Type: `mx.events.PropertyChangeEvent`
PropertyChangeEvent.type property = `mx.events.PropertyChangeEvent.PROPERTY_CHANGE`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Dispatched when the `connected` property of the MessageAgent changes. Also dispatched when the `subscribed` of a Consumer changes.

The `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

mx.messaging.Consumer

Wed Nov 15 2017, 09:50 AM +01:00