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

Package | mx.messaging
Class | public class MultiTopicConsumer
Inheritance | MultiTopicConsumer AbstractConsumer MessageAgent flash.events.EventDispatcher

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 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 Syntax Show MXML Syntax
Hide 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
Hide Inherited Public Properties
Show Inherited 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
|  | maxFrequency : uint Determines the maximum number of messages per second the Consumer wants to receive. | AbstractConsumer
|  | requestTimeout : int Provides access to the request timeout in seconds for sent messages. | MessageAgent
|  | resubscribeAttempts : 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
|  | resubscribeInterval : int The number of milliseconds between resubscribe attempts. | AbstractConsumer
|  | subscribed : Boolean [read-only] Indicates whether the Consumer is currently subscribed. | AbstractConsumer
|  | subscriptions : ArrayCollection Stores an Array of SubscriptionInfo objects. | MultiTopicConsumer
|  | timestamp : Number Contains the timestamp of the most recent message this Consumer has received. | AbstractConsumer

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | _shouldBeSubscribed : Boolean Flag indicating whether this consumer should be subscribed or not. | AbstractConsumer

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | MultiTopicConsumer() Constructor. | MultiTopicConsumer
|  | acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void Invoked by a MessageResponder upon receiving a result for a sent message. | MessageAgent
|  | addSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void This is a convenience method for adding a new subscription. | MultiTopicConsumer
|  | 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 [override] Disconnects the Consumer from its remote destination. | AbstractConsumer
|  | 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
|  | receive(timestamp:Number = 0):void Requests any messages that are queued for this Consumer on the server. | AbstractConsumer
|  | removeSubscription(subtopic:String = null, selector:String = null):void This method removes the subscription specified by the subtopic and selector. | MultiTopicConsumer
|  | 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
|  | subscribe(clientId:String = null):void Subscribes to the remote destination. | AbstractConsumer
|  | unsubscribe(preserveDurable:Boolean = false):void Unsubscribes from the remote destination. | AbstractConsumer

Protected Methods
Show Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | buildSubscribeMessage():CommandMessage [override] Returns a subscribe message. | MultiTopicConsumer
|  | buildUnsubscribeMessage(preserveDurable:Boolean):CommandMessage [override] Returns an unsubscribe mesage. | MultiTopicConsumer
|  | 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
Hide Inherited Events
Show Inherited 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
|  | message | Dispatched when a message is received by the Consumer. | MultiTopicConsumer
|  | propertyChange | Dispatched when the connected property of the MessageAgent changes. | MessageAgent

Property Detail

subscriptions | property

`subscriptions:ArrayCollection`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 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.

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, LCDS 3

Runtime Versions : | Flash Player 9, AIR 1.1

Constructor.

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, LCDS 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, LCDS 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, LCDS 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, LCDS 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`
MessageEvent.type property = `mx.messaging.events.MessageEvent.MESSAGE`

Language Version : | ActionScript 3.0

Product Versions : | BlazeDS 4, LCDS 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:

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

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