Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
mx.messaging 
MultiTopicConsumer 
Packagemx.messaging
Classpublic class MultiTopicConsumer
InheritanceMultiTopicConsumer Inheritance AbstractConsumer Inheritance MessageAgent Inheritance EventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

Like a Consumer, a MultiTopicConsumer subscribes to a destination with a single clientId and delivers messages to a single event handler. Unlike a Consumer it lets you register subscriptions for a list of subtopics and selector expressions at the same time from a single message handler. Where Consumer has subtopic and selector properties, this component has an addSubscription(subtopic, selector) method you use to add a new subscription to the existing set of subscriptions. Alternatively, you can populate the subscriptions property with a list of SubscriptionInfo instances that define the subscriptions for this destination.

Like the regular Consumer, the MultiTopicConsumer sends subscribe and unsubscribe messages which generate a MessageAckEvent or MessageFaultEvent depending upon whether the operation was successful or not. Once subscribed, a MultiTopicConsumer dispatches a MessageEvent for each message it receives.

MXML SyntaxexpandedHide MXML Syntax

The <mx:MultiTopicConsumer> tag has these properties:

   <mx:Consumer
    Properties
    subscriptions=""an empty ArrayCollection of SubscriptionInfo objects"
    resubscribeAttempts="5"
    resubscribeInterval="5000"
    timestamp="No default."
  />
  


Public Properties
 PropertyDefined By
 Inheritedauthenticated : Boolean
[read-only] Indicates if this MessageAgent is using an authenticated connection to its destination.
MessageAgent
 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
 Inheriteddestination : String
Provides access to the destination for the MessageAgent.
MessageAgent
 InheritedmaxFrequency : uint
Determines the maximum number of messages per second the Consumer wants to receive.
AbstractConsumer
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 InheritedrequestTimeout : int
Provides access to the request timeout in seconds for sent messages.
MessageAgent
 InheritedresubscribeAttempts : 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.
AbstractConsumer
 InheritedresubscribeInterval : int
The number of milliseconds between resubscribe attempts.
AbstractConsumer
 Inheritedsubscribed : Boolean
[read-only] Indicates whether the Consumer is currently subscribed.
AbstractConsumer
  subscriptions : ArrayCollection
Stores an Array of SubscriptionInfo objects.
MultiTopicConsumer
 Inheritedtimestamp : Number
Contains the timestamp of the most recent message this Consumer has received.
AbstractConsumer
Protected Properties
 PropertyDefined By
 Inherited_shouldBeSubscribed : Boolean
Flag indicating whether this consumer should be subscribed or not.
AbstractConsumer
Public Methods
 MethodDefined By
  
Constructor.
MultiTopicConsumer
 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
  
addSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void
This is a convenience method for adding a new subscription.
MultiTopicConsumer
 Inherited
Handles a CONNECT ChannelEvent.
MessageAgent
 Inherited
Handles a DISCONNECT ChannelEvent.
MessageAgent
 Inherited
Handles a ChannelFaultEvent.
MessageAgent
 Inherited
[override] Disconnects the Consumer from its remote destination.
AbstractConsumer
 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
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
receive(timestamp:Number = 0):void
Requests any messages that are queued for this Consumer on the server.
AbstractConsumer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
  
removeSubscription(subtopic:String = null, selector:String = null):void
This method removes the subscription specified by the subtopic and selector.
MultiTopicConsumer
 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
subscribe(clientId:String = null):void
Subscribes to the remote destination.
AbstractConsumer
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
unsubscribe(preserveDurable:Boolean = false):void
Unsubscribes from the remote destination.
AbstractConsumer
 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
  
[override] Returns a subscribe message.
MultiTopicConsumer
  
[override] Returns an unsubscribe mesage.
MultiTopicConsumer
 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
 InheritedDispatched when an acknowledge message is received for a sent message.MessageAgent
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 InheritedDispatched when the underlying Channel the MessageAgent is using connects.MessageAgent
 InheritedDispatched when the underlying Channel the MessageAgent is using disconnects.MessageAgent
 InheritedDispatched when the underlying Channel the MessageAgent is using faults.MessageAgent
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
 InheritedDispatched when a message fault occurs.MessageAgent
  Dispatched when a message is received by the Consumer.MultiTopicConsumer
 InheritedDispatched when the connected property of the MessageAgent changes.MessageAgent
Property Detail

subscriptions

property
subscriptions:ArrayCollection

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

Stores an Array of SubscriptionInfo objects. Each subscription contains a subtopic and a selector each of which can be null. A subscription with a non-null subtopic restricts the subscription to messages delivered with only that subtopic. If a subtopic is null, it uses the selector with no subtopic. If the selector and the subtopic is null, the subscription receives any messages targeted at the destination with no subtopic. The subtopic can contain a wildcard specification.

Before a call to the subscribe() method, this property can be set with no side effects. After the MultiTopicConsumer has subscribed to its destination, changing this value has the side effect of updating the MultiTopicConsumer's subscription to include any new subscriptions and remove any subscriptions you deleted from the ArrayCollection.

The remote destination must understand the value of the selector expression.

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 subscriptions():ArrayCollection
    public function set subscriptions(value:ArrayCollection):void
Constructor Detail

MultiTopicConsumer

()Constructor
public function MultiTopicConsumer()

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

Constructor.


Example  ( How to use this example )
       function initConsumer():void
       {
           var consumer:Consumer = new MultiTopicConsumer();
           consumer.destination = "NASDAQ";
           consumer.addEventListener(MessageEvent.MESSAGE, messageHandler);
           consumer.addSubscription("myStock1", "operation IN ('BID', 'Ask')");
           consumer.addSubscription("myStock2", "operation IN ('BID', 'Ask')");
           consumer.subscribe();
       }
     
       function messageHandler(event:MessageEvent):void
       {
           var msg:IMessage = event.message;
           var info:Object = msg.body;
           trace("-App recieved message: " + msg.toString());
       }
       
Method Detail

addSubscription

()method
public function addSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

This is a convenience method for adding a new subscription. It just creates a new SubscriptionInfo object and adds it to the subscriptions property. To call this method, you provide the subtopic and selector string for the new subscription. If the subtopic is null, the subscription applies to messages which do not have a subtopic set in the producer. If the selector string is null, all messages sent which match the subtopic string are received by this consumer.

Parameters

subtopic:String (default = null) — The subtopic for the new subscription.
 
selector:String (default = null) — The selector for the new subscription.
 
maxFrequency:uint (default = 0) — The maximum number of messages per second the Consumer wants to receive for the subscription. Note that this value overwrites the Consumer wide maxFrequency.

buildSubscribeMessage

()method 
override protected function buildSubscribeMessage():CommandMessage

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

Returns a subscribe message.

Returns
CommandMessage — The subscribe CommandMessage.

buildUnsubscribeMessage

()method 
override protected function buildUnsubscribeMessage(preserveDurable:Boolean):CommandMessage

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

Returns an unsubscribe mesage.

Parameters

preserveDurable:Boolean — When true, durable JMS subscriptions are not destroyed, allowing consumers to later resubscribe and receive missed messages.

Returns
CommandMessage — The unsubscribe CommandMessage.

removeSubscription

()method 
public function removeSubscription(subtopic:String = null, selector:String = null):void

Language Version: ActionScript 3.0
Product Versions: BlazeDS 4, LiveCycle Data Services 3
Runtime Versions: Flash Player 9, AIR 1.1

This method removes the subscription specified by the subtopic and selector.

Parameters

subtopic:String (default = null) — The subtopic for the subscription.
 
selector:String (default = null) — The selector for the subscription.

Event Detail

message

Event
Event Object Type: mx.messaging.events.MessageEvent
property MessageEvent.type = mx.messaging.events.MessageEvent.MESSAGE

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 is received by the Consumer.

The MESSAGE event type; dispatched upon receipt of a message.

The value of this constant is "message".

The properties of the event object have the following values:

PropertyValue
bubblesfalse
cancelablefalse
currentTargetThe 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.
messageThe message associated with this event.
targetThe 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.