Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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.
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."
/>
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.
Implementation public function get authenticated():Boolean
channelSet:ChannelSet
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get channelSet():ChannelSet
public function set channelSet(value:ChannelSet):void
clientId:String
[read-only]
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get clientId():String
connected:Boolean
[read-only]
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get connected():Boolean
destination:String
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get destination():String
public function set destination(value:String):void
Throws requestTimeout:int
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get requestTimeout():int
public function set requestTimeout(value:int):void
public function MessageAgent()
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructor.
public function acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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
public function channelConnectHandler(event:ChannelEvent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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
public function channelDisconnectHandler(event:ChannelEvent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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
public function channelFaultHandler(event:ChannelFaultEvent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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
public function disconnect():void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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.
public function fault(errMsg:ErrorMessage, msg:IMessage):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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.
|
public function hasPendingRequestForMessage(msg:IMessage):Boolean
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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.
|
protected function initChannelSet(message:IMessage):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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.
|
public function initialized(document:Object, id:String):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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.
|
protected function internalSend(message:IMessage, waitForClientId:Boolean = true):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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 public function logout():void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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
protected function reAuthorize(msg:IMessage):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
This 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.
|
public function setCredentials(username:String, password:String, charset:String = null):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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 | 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.
|
public function setRemoteCredentials(username:String, password:String, charset:String = null):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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 Object Type: mx.messaging.events.MessageAckEvent
property MessageAckEvent.type = mx.messaging.events.MessageAckEvent.ACKNOWLEDGE
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3, BlazeDS 4, LiveCycle Data Services 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. |
Event Object Type: mx.messaging.events.ChannelEvent
property ChannelEvent.type = mx.messaging.events.ChannelEvent.CONNECT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. |
Event Object Type: mx.messaging.events.ChannelEvent
property ChannelEvent.type = mx.messaging.events.ChannelEvent.DISCONNECT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. |
Event Object Type: mx.messaging.events.ChannelFaultEvent
property ChannelFaultEvent.type = mx.messaging.events.ChannelFaultEvent.FAULT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. |
Event Object Type: mx.messaging.events.MessageFaultEvent
property MessageFaultEvent.type = mx.messaging.events.MessageFaultEvent.FAULT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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. |
Event Object Type: mx.events.PropertyChangeEvent
property PropertyChangeEvent.type = mx.events.PropertyChangeEvent.PROPERTY_CHANGE
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 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