- messaging
- channels
- config
- errors
- events
- messages
- AbstractMessage - feathers.messaging.messages
- AcknowledgeMessage - feathers.messaging.messages
- ActionMessage - feathers.messaging.messages
- AsyncMessage - feathers.messaging.messages
- CommandMessage - feathers.messaging.messages
- ErrorMessage - feathers.messaging.messages
- HTTPRequestMessage - feathers.messaging.messages
- IMessage - feathers.messaging.messages
- ISmallMessage - feathers.messaging.messages
- MessageBody - feathers.messaging.messages
- MessageHeader - feathers.messaging.messages
- MessagePerformanceUtils - feathers.messaging.messages
- RemotingMessage - feathers.messaging.messages
- utils
- AbstractConsumer - feathers.messaging
- AbstractProducer - feathers.messaging
- AuthenticationMessageResponder - feathers.messaging
- Channel - feathers.messaging
- ChannelSet - feathers.messaging
- Consumer - feathers.messaging
- FlexClient - feathers.messaging
- MessageAgent - feathers.messaging
- MessageResponder - feathers.messaging
- Producer - feathers.messaging
- rpc
class Consumer
package feathers.messaging
extends AbstractConsumer › MessageAgent
@:directlyUsedA Consumer subscribes to a destination to receive messages. Consumers send subscribe and unsubscribe messages which generate a MessageAckEvent or MessageFaultEvent depending upon whether the operation was successful or not. Once subscribed, a Consumer dispatches a MessageEvent for each message it receives. Consumers provide the ability to filter messages using a selector. These selectors must be understood by the destination.
Constructor
@:value({ messageType : "flex.messaging.messages.AsyncMessage" })new(messageType:String = "flex.messaging.messages.AsyncMessage")
Constructor.
Parameters:
messageType | The alias for the message type processed by the service hosting the remote destination the Consumer will subscribe to. This parameter is deprecated and it is ignored by the constructor.
|
---|
Variables
@:flash.propertyselector:String
The selector for the Consumer. This is an expression that is passed to the destination which uses it to filter the messages delivered to the Consumer.
Before a call to the subscribe()
method, this property
can be set with no side effects.
After the Consumer has subscribed to its destination, changing this
value has the side effect of updating the Consumer's subscription to
use the new selector expression immediately.
The remote destination must understand the value of the selector expression.
@:flash.propertysubtopic:String
Provides access to the subtopic for the remote destination that the MessageAgent uses.
Inherited Variables
Defined by AbstractConsumer
@:flash.propertymaxFrequency:UInt
Determines the maximum number of messages per second the Consumer wants to receive. A server that understands this value will use it as an input while it determines how fast to send messages to the Consumer. Default is 0 which means Consumer does not have a preference for the message rate. Note that this property should be set before the Consumer subscribes and any changes after Consumer subscription will not have any effect until Consumer unsubscribes and resubscribes.
@:flash.propertyresubscribeAttempts:Int
The number of resubscribe attempts that the Consumer makes in the event that the destination is unavailable or the connection to the destination fails. A value of -1 enables infinite attempts. A value of zero disables resubscribe attempts.
Resubscribe attempts are made at a constant rate according to the resubscribe interval value. When a resubscribe attempt is made if the underlying channel for the Consumer is not connected or attempting to connect the channel will start a connect attempt. Subsequent Consumer resubscribe attempts that occur while the underlying channel connect attempt is outstanding are effectively ignored until the outstanding channel connect attempt succeeds or fails.
See also:
mx.messaging.Consumer#resubscribeInterval
@:flash.propertyresubscribeInterval:Int
The number of milliseconds between resubscribe attempts. If a Consumer doesn't receive an acknowledgement for a subscription request, it will wait the specified number of milliseconds before attempting to resubscribe. Setting the value to zero disables resubscriptions.
Resubscribe attempts are made at a constant rate according to this value. When a resubscribe attempt is made if the underlying channel for the Consumer is not connected or attempting to connect the channel will start a connect attempt. Subsequent Consumer resubscribe attempts that occur while the underlying channel connect attempt is outstanding are effectively ignored until the outstanding channel connect attempt succeeds or fails.
Throws:
ArgumentError | If the assigned value is negative. |
---|
See also:
mx.messaging.Consumer#resubscribeInterval
@:flash.propertyread onlysubscribed:Bool
Indicates whether the Consumer is currently subscribed. The propertyChange
event is dispatched when this property changes.
@:flash.propertytimestamp:Float
Contains the timestamp of the most recent message this Consumer
has received.
This value is passed to the destination in a receive()
call
to request that it deliver messages for the Consumer from the timestamp
forward.
All messages with a timestamp value greater than the
timestamp
value will be returned during a poll operation.
Setting this value to -1 will retrieve all cached messages from the
destination.
Defined by MessageAgent
@:flash.propertyread onlyauthenticated:Bool
Indicates if this MessageAgent is using an authenticated connection to its destination.
@:flash.propertychannelSet:ChannelSet
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.
@:flash.propertyread onlyclientId:String
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.
@:flash.propertyread onlyconnected:Bool
Indicates whether this MessageAgent is currently connected to its
destination via its ChannelSet. The propertyChange
event is dispatched when
this property changes.
@:flash.propertydestination:String
Provides access to the destination for the MessageAgent. Changing the destination will disconnect the MessageAgent if it is currently connected.
Throws:
mx.messaging.errors.InvalidDestinationError | If the destination is null or zero-length. |
---|
@:flash.propertyrequestTimeout:Int
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.
Inherited Methods
Defined by AbstractConsumer
disconnect():Void
Disconnects the Consumer from its remote destination. This method should be invoked on a Consumer that is no longer needed by an application after unsubscribing. This method does not wait for outstanding network operations to complete and does not send an unsubscribe message to the server. After invoking disconnect(), the Consumer will report that it is in an disconnected, unsubscribed state because it will not receive any more messages until it has reconnected and resubscribed. Disconnecting stops automatic resubscription attempts if they are running.
fault(errMsg:ErrorMessage, msg:IMessage):Void
The Consumer supresses ErrorMessage processing if the error is retryable and it is configured to resubscribe.
Parameters:
errMsg | The ErrorMessage describing the fault. |
---|---|
msg | The original message (generally a subscribe). |
@:value({ timestamp : 0 })receive(timestamp:Float = 0):Void
Requests any messages that are queued for this Consumer on the server. This method should only be used for Consumers that subscribe over non-realtime, non-polling channels. This method is a no-op if the Consumer is not subscribed.
Parameters:
timestamp | This argument is deprecated and is ignored. |
---|
@:value({ clientId : null })subscribe(?clientId:String):Void
Subscribes to the remote destination.
Parameters:
clientId | The client id to subscribe with. Use null for non-durable Consumers. If the subscription is durable, a consistent value must be supplied every time the Consumer subscribes in order to reconnect to the correct durable subscription in the remote destination. |
---|
Throws:
mx.messaging.errors.InvalidDestinationError | If no destination is set. |
---|
@:value({ preserveDurable : false })unsubscribe(preserveDurable:Bool = false):Void
Unsubscribes from the remote destination. In the case of durable JMS subscriptions, this will destroy the durable subscription on the JMS server.
Parameters:
preserveDurable |
|
---|
Defined by MessageAgent
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 | The AcknowledgMessage returned. |
---|---|
msg | The original sent message. |
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 | The ChannelEvent. |
---|
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 | The ChannelEvent. |
---|
channelFaultHandler(event:ChannelFaultEvent):Void
Handles a ChannelFaultEvent. Subclasses that need to perform custom
processing should override this method, and invoke
super.channelFaultHandler()
.
Parameters:
The | ChannelFaultEvent |
---|
hasPendingRequestForMessage(msg:IMessage):Bool
Returns true if there are any pending requests for the passed in message. This method should be overriden by subclasses
Parameters:
msg | The message for which the existence of pending requests is checked. |
---|
Returns:
Returns true
if there are any pending requests for the
passed in message.
initialized(document:Any, id:String):Void
Called after the implementing object has been created and all properties specified on the tag have been assigned.
Parameters:
document | MXML document that created this object. |
---|---|
id | id used by the document to refer to this object. If the object is a deep property on the document, id is null. |
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:
mx.messaging.ChannelSet#logout()
@:value({ charset : null })setCredentials(username:String, password:String, ?charset:String):Void
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 | The username. |
---|---|
password | The password. |
charset | 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. |
---|
@:value({ charset : null })setRemoteCredentials(username:String, password:String, ?charset:String):Void
Sets the remote credentials that will be passed through to the remote destination for authenticating to secondary systems.
Parameters:
username | The username. |
---|---|
password | The password. |
charset | 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". |