<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- saved from url=(0014)about:internet --><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" href="../../style.css" type="text/css" media="screen"><link rel="stylesheet" href="../../print.css" type="text/css" media="print"><link rel="stylesheet" href="../../override.css" type="text/css"><meta name="keywords" content="MultiTopicConsumer,mx.messaging.MultiTopicConsumer,CONNECT_TIMEOUT_SECONDS,DEFAULT_PRIORITY,ENABLE_SMALL_MESSAGES,FALSE,RECORD_MESSAGE_SIZES,RECORD_MESSAGE_TIMES,REQUEST_TIMEOUT_SECONDS,SERIALIZATION,TRUE,_shouldBeSubscribed,agent,authenticated,authenticated,authenticated,autoConnect,channel,channelIds,channelSet,channelSets,channels,clientId,clustered,connectTimeout,connected,connected,connected,currentChannel,defaultHeaders,destination,endpoint,failoverURIs,heartbeatInterval,id,id,initialDestinationId,maxFrequency,maxFrequency,message,messageAgents,priority,protocol,reconnectAttempts,reconnectInterval,reconnecting,recordMessageSizes,recordMessageTimes,requestTimeout,requestTimeout,resubscribeAttempts,resubscribeInterval,selector,selector,shouldBeConnected,subscribed,subscriptions,subtopic,subtopic,subtopic,subtopics,timestamp,uri,acknowledge,addChannel,addSubscription,addSubtopic,applyClientLoadBalancingSettings,applySettings,buildSubscribeMessage,buildSubscribeMessage,buildUnsubscribeMessage,buildUnsubscribeMessage,channelConnectHandler,channelConnectHandler,channelDisconnectHandler,channelDisconnectHandler,channelFaultHandler,channelFaultHandler,connect,connect,connect,connectFailed,connectSuccess,connectTimeoutHandler,createRequestTimeoutErrorMessage,disconnect,disconnect,disconnect,disconnect,disconnect,disconnectAll,disconnectFailed,disconnectSuccess,fault,flexClientWaitHandler,getInstance,getMessageResponder,handleAuthenticationFault,hasPendingRequestForMessage,initChannelSet,initialized,internalConnect,internalDisconnect,internalSend,internalSend,login,logout,logout,logout,messageHandler,reAuthorize,receive,removeChannel,removeSubscription,removeSubtopic,requestTimedOut,result,resultHandler,send,send,send,setCredentials,setCredentials,setCredentials,setRemoteCredentials,status,statusHandler,subscribe,toString,unsubscribe"><title>mx.messaging.MultiTopicConsumer</title></head><body><script language="javascript" type="text/javascript" src="../../asdoc.js"></script><script language="javascript" type="text/javascript" src="../../help.js"></script><script language="javascript" type="text/javascript" src="../../cookies.js"></script><script language="javascript" type="text/javascript"><!--
				asdocTitle = 'MultiTopicConsumer - ApacheFlex API Reference';
				var baseRef = '../../';
				window.onload = configPage;
			--></script>
<script type="text/javascript">
			scrollToNameAnchor();
		</script><table class="titleTable" cellpadding="0" cellspacing="0" id="titleTable" style="display:none"><tr><td class="titleTableTitle" align="left">Apache Flex 4.16.1 API Reference </td><td class="titleTableTopNav" align="right"><a href="../../package-summary.html" onclick="loadClassListFrame('../../all-classes.html')">All Packages</a>&nbsp;|&nbsp;<a href="../../class-summary.html" onclick="loadClassListFrame('../../all-classes.html')">All Classes</a>&nbsp;|&nbsp;<a href="../../all-index-A.html" onclick="loadClassListFrame('../../index-list.html')">Index</a>&nbsp;|&nbsp;<a id="framesLink1" href="../../index.html?mx/messaging/MultiTopicConsumer.html&amp;mx/messaging/class-list.html">Frames</a><a id="noFramesLink1" style="display:none" href="" onclick="parent.location=document.location"> No Frames </a></td><td class="titleTableLogo" align="right" rowspan="3"><img src="../../images/logo.jpg" class="logoImage" alt="AdobeLogo" title="AdobeLogo"></td></tr><tr class="titleTableRow2"><td class="titleTableSubTitle" id="subTitle" align="left">MultiTopicConsumer</td><td class="titleTableSubNav" id="subNav" align="right"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a>&nbsp;| <a href="#eventSummary">Events</a></td></tr><tr class="titleTableRow3"><td colspan="3">&nbsp;</td></tr></table><script language="javascript" type="text/javascript" xml:space="preserve">
				<!--
				
					if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("MultiTopicConsumer"); titleBar_setSubNav(false,true,false,false,false,false,true,false,true,false,false	,false,false,false,false,false);}	
				-->
			</script><div xmlns:fn="http://www.w3.org/2005/xpath-functions" class="MainContent"><table class="classHeaderTable" cellpadding="0" cellspacing="0"><tr><td class="classHeaderTableLabel">Package</td><td><a href="package-detail.html" onclick="javascript:loadClassListFrame('class-list.html')">mx.messaging</a></td></tr><tr><td class="classHeaderTableLabel">Class</td><td class="classSignature">public  class  MultiTopicConsumer</td></tr><tr><td class="classHeaderTableLabel">Inheritance</td><td class="inheritanceList">MultiTopicConsumer  <img src="../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow"> <a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a> <img src="../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow"> <a href="../../mx/messaging/MessageAgent.html">MessageAgent</a> <img src="../../images/inherit-arrow.gif" title="Inheritance" alt="Inheritance" class="inheritArrow"> flash.events.EventDispatcher</td></tr></table><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p></p><p></p>
      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.
      <p>
      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.</p>
            <p></p><a name="mxmlSyntaxSummary"></a><span class="classHeaderTableLabel">MXML Syntax</span><span id="showMxmlLink" style="display:none"><a href="#mxmlSyntaxSummary" onclick="toggleMXMLOnly();"><img src="../../images/collapsed.gif" title="collapsed" alt="collapsed" class="collapsedImage">Show MXML Syntax</a><br/></span><span id="hideMxmlLink"><a href="#mxmlSyntaxSummary" onclick="toggleMXMLOnly();"><img src="../../images/expanded.gif" title="expanded" alt="expanded" class="expandedImage">Hide MXML Syntax</a></span><div id="mxmlSyntax" class="mxmlSyntax"> <p>
      The &lt;mx:MultiTopicConsumer&gt; tag has these properties:
      </p>
      <pre>
       &lt;mx:Consumer
        <b>Properties</b>
        subscriptions="<i>"an empty ArrayCollection of SubscriptionInfo objects</i>"
        resubscribeAttempts="<i>5</i>"
        resubscribeInterval="<i>5000</i>"
        timestamp="<i>No default.</i>"
      /&gt;
      </pre>
           </div><script language="javascript" type="text/javascript"><!--
								setMXMLOnly();
								--></script><br/><hr></div><a name="propertySummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Properties</div><div class="showHideLinks"><div id="hideInheritedProperty" class="hideInheritedProperty"><a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(false,'Property');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Public Properties</a></div><div id="showInheritedProperty" class="showInheritedProperty"><a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(true,'Property');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Public Properties</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableProperty"><tr><th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/MessageAgent.html#authenticated" class="signatureLink">authenticated</a> : Boolean<div class="summaryTableDescription">[read-only] 
      Indicates if this MessageAgent is using an authenticated connection to
      its destination.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/MessageAgent.html#channelSet" class="signatureLink">channelSet</a> : <a href="../../mx/messaging/ChannelSet.html">ChannelSet</a><div class="summaryTableDescription">
      Provides access to the ChannelSet used by the MessageAgent.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/MessageAgent.html#clientId" class="signatureLink">clientId</a> : String<div class="summaryTableDescription">[read-only] 
      Provides access to the client id for the MessageAgent.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/MessageAgent.html#connected" class="signatureLink">connected</a> : Boolean<div class="summaryTableDescription">[read-only] 
      Indicates whether this MessageAgent is currently connected to its
      destination via its ChannelSet.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/MessageAgent.html#destination" class="signatureLink">destination</a> : String<div class="summaryTableDescription">
      Provides access to the destination for the MessageAgent.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/AbstractConsumer.html#maxFrequency" class="signatureLink">maxFrequency</a> : uint<div class="summaryTableDescription">
      Determines the maximum number of messages per second the Consumer wants
      to receive.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/MessageAgent.html#requestTimeout" class="signatureLink">requestTimeout</a> : int<div class="summaryTableDescription">
      Provides access to the request timeout in seconds for sent messages.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/AbstractConsumer.html#resubscribeAttempts" class="signatureLink">resubscribeAttempts</a> : int<div class="summaryTableDescription">
      The number of resubscribe attempts that the Consumer makes in the event
      that the destination is unavailable or the connection to the destination fails.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/AbstractConsumer.html#resubscribeInterval" class="signatureLink">resubscribeInterval</a> : int<div class="summaryTableDescription">
      The number of milliseconds between resubscribe attempts.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/AbstractConsumer.html#subscribed" class="signatureLink">subscribed</a> : Boolean<div class="summaryTableDescription">[read-only] 
      Indicates whether the Consumer is currently subscribed.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a href="#subscriptions" class="signatureLink">subscriptions</a> : <a href="../../mx/collections/ArrayCollection.html">ArrayCollection</a><div class="summaryTableDescription">
          Stores an Array of SubscriptionInfo objects.</div></td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class="hideInheritedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/AbstractConsumer.html#timestamp" class="signatureLink">timestamp</a> : Number<div class="summaryTableDescription">
      Contains the timestamp of the most recent message this Consumer
      has received.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr></table></div><a name="protectedPropertySummary"></a><div class="summarySection"><div class="summaryTableTitle">Protected Properties</div><div class="showHideLinks"><div id="hideInheritedProtectedProperty" class="hideInheritedProtectedProperty"><a class="showHideLink" href="#protectedPropertySummary" onclick="javascript:setInheritedVisible(false,'ProtectedProperty');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Protected Properties</a></div><div id="showInheritedProtectedProperty" class="showInheritedProtectedProperty"><a class="showHideLink" href="#protectedPropertySummary" onclick="javascript:setInheritedVisible(true,'ProtectedProperty');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Protected Properties</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable hideInheritedProtectedProperty" id="summaryTableProtectedProperty"><tr><th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class="hideInheritedProtectedProperty"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><a href="../../mx/messaging/AbstractConsumer.html#_shouldBeSubscribed" class="signatureLink">_shouldBeSubscribed</a> : Boolean<div class="summaryTableDescription">
      Flag indicating whether this consumer should be subscribed or not.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr></table></div><a name="methodSummary"></a><div class="summarySection"><div class="summaryTableTitle">Public Methods </div><div class="showHideLinks"><div id="hideInheritedMethod" class="hideInheritedMethod"><a class="showHideLink" href="#methodSummary" onclick="javascript:setInheritedVisible(false,'Method');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Public Methods</a></div><div id="showInheritedMethod" class="showInheritedMethod"><a class="showHideLink" href="#methodSummary" onclick="javascript:setInheritedVisible(true,'Method');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Public Methods</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableMethod"><tr><th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#MultiTopicConsumer()" class="signatureLink">MultiTopicConsumer</a>()</div><div class="summaryTableDescription">
          Constructor.</div></td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#acknowledge()" class="signatureLink">acknowledge</a>(ackMsg:<a href="../../mx/messaging/messages/AcknowledgeMessage.html">AcknowledgeMessage</a>, msg:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>):void</div><div class="summaryTableDescription">
      Invoked by a MessageResponder upon receiving a result for a sent
      message.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#addSubscription()" class="signatureLink">addSubscription</a>(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void</div><div class="summaryTableDescription">
         This is a convenience method for adding a new subscription.</div></td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#channelConnectHandler()" class="signatureLink">channelConnectHandler</a>(event:<a href="../../mx/messaging/events/ChannelEvent.html">ChannelEvent</a>):void</div><div class="summaryTableDescription">
      Handles a CONNECT ChannelEvent.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#channelDisconnectHandler()" class="signatureLink">channelDisconnectHandler</a>(event:<a href="../../mx/messaging/events/ChannelEvent.html">ChannelEvent</a>):void</div><div class="summaryTableDescription">
      Handles a DISCONNECT ChannelEvent.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#channelFaultHandler()" class="signatureLink">channelFaultHandler</a>(event:<a href="../../mx/messaging/events/ChannelFaultEvent.html">ChannelFaultEvent</a>):void</div><div class="summaryTableDescription">
      Handles a ChannelFaultEvent.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/AbstractConsumer.html#disconnect()" class="signatureLink">disconnect</a>():void</div><div class="summaryTableDescription">[override] 
      Disconnects the Consumer from its remote destination.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#fault()" class="signatureLink">fault</a>(errMsg:<a href="../../mx/messaging/messages/ErrorMessage.html">ErrorMessage</a>, msg:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>):void</div><div class="summaryTableDescription">
      Invoked by a MessageResponder upon receiving a fault for a sent message.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#hasPendingRequestForMessage()" class="signatureLink">hasPendingRequestForMessage</a>(msg:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>):Boolean</div><div class="summaryTableDescription">
    Returns true if there are any pending requests for the passed in message.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#initialized()" class="signatureLink">initialized</a>(document:Object, id:String):void</div><div class="summaryTableDescription">
      Called after the implementing object has been created
      and all properties specified on the tag have been assigned.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#logout()" class="signatureLink">logout</a>():void</div><div class="summaryTableDescription">
      Logs the MessageAgent out from its remote destination.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/AbstractConsumer.html#receive()" class="signatureLink">receive</a>(timestamp:Number = 0):void</div><div class="summaryTableDescription">
      Requests any messages that are queued for this Consumer on the server.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#removeSubscription()" class="signatureLink">removeSubscription</a>(subtopic:String = null, selector:String = null):void</div><div class="summaryTableDescription">
         This method removes the subscription specified by the subtopic
         and selector.</div></td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#setCredentials()" class="signatureLink">setCredentials</a>(username:String, password:String, charset:String = null):void</div><div class="summaryTableDescription">
      Sets the credentials that the MessageAgent uses to authenticate to
      destinations.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#setRemoteCredentials()" class="signatureLink">setRemoteCredentials</a>(username:String, password:String, charset:String = null):void</div><div class="summaryTableDescription">
      Sets the remote credentials that will be passed through to the remote destination
      for authenticating to secondary systems.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/AbstractConsumer.html#subscribe()" class="signatureLink">subscribe</a>(clientId:String = null):void</div><div class="summaryTableDescription">
      Subscribes to the remote destination.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr><tr class="hideInheritedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/AbstractConsumer.html#unsubscribe()" class="signatureLink">unsubscribe</a>(preserveDurable:Boolean = false):void</div><div class="summaryTableDescription">
      Unsubscribes from the remote destination.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/AbstractConsumer.html">AbstractConsumer</a></td></tr></table></div><a name="protectedMethodSummary"></a><div class="summarySection"><div class="summaryTableTitle">Protected Methods </div><div class="showHideLinks"><div id="hideInheritedProtectedMethod" class="hideInheritedProtectedMethod"><a class="showHideLink" href="#protectedMethodSummary" onclick="javascript:setInheritedVisible(false,'ProtectedMethod');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Show Inherited Protected Methods</a></div><div id="showInheritedProtectedMethod" class="showInheritedProtectedMethod"><a class="showHideLink" href="#protectedMethodSummary" onclick="javascript:setInheritedVisible(true,'ProtectedMethod');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Protected Methods</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableProtectedMethod"><tr><th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#buildSubscribeMessage()" class="signatureLink">buildSubscribeMessage</a>():<a href="../../mx/messaging/messages/CommandMessage.html">CommandMessage</a></div><div class="summaryTableDescription">[override] 
         Returns a subscribe message.</div></td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#buildUnsubscribeMessage()" class="signatureLink">buildUnsubscribeMessage</a>(preserveDurable:Boolean):<a href="../../mx/messaging/messages/CommandMessage.html">CommandMessage</a></div><div class="summaryTableDescription">[override] 
         Returns an unsubscribe mesage.</div></td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#handleAuthenticationFault()" class="signatureLink">handleAuthenticationFault</a>(errMsg:<a href="../../mx/messaging/messages/ErrorMessage.html">ErrorMessage</a>, msg:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>):void</div><div class="summaryTableDescription">
     Handles the authentication fault on the server.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#initChannelSet()" class="signatureLink">initChannelSet</a>(message:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>):void</div><div class="summaryTableDescription">
      Used to automatically initialize the channelSet property for the
      MessageAgent before it connects for the first time.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#internalSend()" class="signatureLink">internalSend</a>(message:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>, waitForClientId:Boolean = true):void</div><div class="summaryTableDescription">
      Sends a Message from the MessageAgent to its destination using the
      agent's ChannelSet.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedProtectedMethod"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#reAuthorize()" class="signatureLink">reAuthorize</a>(msg:<a href="../../mx/messaging/messages/IMessage.html">IMessage</a>):void</div><div class="summaryTableDescription">
     This function should be overriden by sublasses to implement reauthentication due to
     server session time-out behavior specific to them.</div></td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr></table></div><a name="eventSummary"></a><div class="summarySection"><div class="summaryTableTitle">Events</div><div class="showHideLinks"><div id="hideInheritedEvent" class="hideInheritedEvent"><a class="showHideLink" href="#eventSummary" onclick="javascript:setInheritedVisible(false,'Event');"><img class="showHideLinkImage" src="../../images/expanded.gif"> Hide Inherited Events</a></div><div id="showInheritedEvent" class="showInheritedEvent"><a class="showHideLink" href="#eventSummary" onclick="javascript:setInheritedVisible(true,'Event');"><img class="showHideLinkImage" src="../../images/collapsed.gif"> Show Inherited Events</a></div></div><table cellspacing="0" cellpadding="3" class="summaryTable " id="summaryTableEvent"><tr><th>&nbsp;</th><th colspan="2">Event</th><th> Summary </th><th class="summaryTableOwnerCol">Defined By</th></tr><tr class="hideInheritedEvent"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#event:acknowledge" class="signatureLink">acknowledge</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when an acknowledge message is received for a sent message.</td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedEvent"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#event:channelConnect" class="signatureLink">channelConnect</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when the underlying Channel the MessageAgent is using connects.</td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedEvent"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#event:channelDisconnect" class="signatureLink">channelDisconnect</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when the underlying Channel the MessageAgent is using disconnects.</td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedEvent"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#event:channelFault" class="signatureLink">channelFault</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when the underlying Channel the MessageAgent is using faults.</td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class="hideInheritedEvent"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#event:fault" class="signatureLink">fault</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when a message fault occurs.</td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr><tr class=""><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="#event:message" class="signatureLink">message</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when a message is received by the Consumer.</td><td class="summaryTableOwnerCol">MultiTopicConsumer</td></tr><tr class="hideInheritedEvent"><td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol"><img src="../../images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"></td><td class="summaryTableSignatureCol"><div class="summarySignature"><a href="../../mx/messaging/MessageAgent.html#event:propertyChange" class="signatureLink">propertyChange</a></div></td><td class="summaryTableDescription summaryTableCol">Dispatched when the connected property of the MessageAgent changes.</td><td class="summaryTableOwnerCol"><a href="../../mx/messaging/MessageAgent.html">MessageAgent</a></td></tr></table></div><script language="javascript" type="text/javascript"><!--
										showHideInherited();
										--></script><div class="MainContent"><div class="detailSectionHeader">Property Detail</div><a name="propertyDetail"></a><a name="subscriptions"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">subscriptions</td><td class="detailHeaderType">property</td></tr></table><div class="detailBody"><code>subscriptions:<a href="../../mx/collections/ArrayCollection.html">ArrayCollection</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p>
          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.
                   <p>Before a call to the <code>subscribe()</code> 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.</p>
                   <p>The remote destination must understand the value of the selector
          expression.</p>
                   </p><p>This property can be used as the source for data binding.</p><br/><span class="label"> Implementation </span><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function get subscriptions():<a href="../../mx/collections/ArrayCollection.html">ArrayCollection</a></code><br/><code>&nbsp;&nbsp;&nbsp;&nbsp;public function set subscriptions(value:<a href="../../mx/collections/ArrayCollection.html">ArrayCollection</a>):void</code><br/></div><a name="constructorDetail"></a><div class="detailSectionHeader">Constructor Detail</div><a name="MultiTopicConsumer()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">MultiTopicConsumer</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">Constructor</td></tr></table><div class="detailBody"><code>public function MultiTopicConsumer()</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p>
          Constructor.
                            </p><br/><span class="label"> Example </span><br/><div class="detailBody"> <div class="listing" version="3.0"><pre>
           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());
           }
           </pre></div>
                   </div></div><a name="methodDetail"></a><div class="detailSectionHeader">Method Detail</div><a name="addSubscription()"></a><a name="addSubscription(String,String,uint)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">addSubscription</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td></tr></table><div class="detailBody"><code> public function addSubscription(subtopic:String = null, selector:String = null, maxFrequency:uint = 0):void</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p>
         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.
                  </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">subtopic</span>:String</code> (default = <code>null</code>)<code></code> &mdash; The subtopic for the new subscription.
                  </td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20px"></td><td><code><span class="label">selector</span>:String</code> (default = <code>null</code>)<code></code> &mdash; The selector for the new subscription.
                  </td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20px"></td><td><code><span class="label">maxFrequency</span>:uint</code> (default = <code>0</code>)<code></code> &mdash; The maximum number of messages per second the Consumer wants
         to receive for the subscription. Note that this value overwrites the Consumer
         wide maxFrequency.
                   </td></tr></table></p></div><a name="buildSubscribeMessage()"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">buildSubscribeMessage</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>override protected function buildSubscribeMessage():<a href="../../mx/messaging/messages/CommandMessage.html">CommandMessage</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p>
         Returns a subscribe message.
                  </p><p></p><span class="label">Returns</span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code><a href="../../mx/messaging/messages/CommandMessage.html">CommandMessage</a></code> &mdash; The subscribe CommandMessage.
                   </td></tr></table></div><a name="buildUnsubscribeMessage()"></a><a name="buildUnsubscribeMessage(Boolean)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">buildUnsubscribeMessage</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code>override protected function buildUnsubscribeMessage(preserveDurable:Boolean):<a href="../../mx/messaging/messages/CommandMessage.html">CommandMessage</a></code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p>
         Returns an unsubscribe mesage.
                  </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">preserveDurable</span>:Boolean</code> &mdash; When true, durable JMS subscriptions are
         not destroyed, allowing consumers to later resubscribe and
         receive missed messages.
                  </td></tr></table></p><p></p><span class="label">Returns</span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20"></td><td><code><a href="../../mx/messaging/messages/CommandMessage.html">CommandMessage</a></code> &mdash; The unsubscribe CommandMessage.
                   </td></tr></table></div><a name="removeSubscription()"></a><a name="removeSubscription(String,String)"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">removeSubscription</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td></tr></table><div class="detailBody"><code> public function removeSubscription(subtopic:String = null, selector:String = null):void</code><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p>
         This method removes the subscription specified by the subtopic
         and selector.
                  </p><p><span class="label"> Parameters </span><table cellpadding="0" cellspacing="0" border="0"><tr><td width="20px"></td><td><code><span class="label">subtopic</span>:String</code> (default = <code>null</code>)<code></code> &mdash; The subtopic for the subscription.
                  </td></tr><tr><td class="paramSpacer">&nbsp;</td></tr><tr><td width="20px"></td><td><code><span class="label">selector</span>:String</code> (default = <code>null</code>)<code></code> &mdash; The selector for the subscription.
                   </td></tr></table></p></div><div class="detailSectionHeader"> Event Detail </div><a name="event:message"></a><table class="detailHeader" cellpadding="0" cellspacing="0"><tr><td class="detailHeaderName">message</td><td class="detailHeaderType"> Event </td></tr></table><div class="detailBody"><span class="label">Event Object Type: </span><a href="../../mx/messaging/events/MessageEvent.html"><code>mx.messaging.events.MessageEvent</code></a><br/><span class="label">MessageEvent.type property = </span><a href="../../mx/messaging/events/MessageEvent.html#MESSAGE"><code>mx.messaging.events.MessageEvent.MESSAGE</code></a><br/><p></p><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Language Version :&nbsp;</b></td><td>ActionScript 3.0</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Product Versions :&nbsp;</b></td><td>BlazeDS 4, LCDS 3</td></tr></table><table cellpadding="0" cellspacing="0" border="0"><tr><td style="white-space:nowrap" valign="top"><b> Runtime Versions :&nbsp;</b></td><td>Flash Player  9, AIR 1.1</td></tr></table><p></p><p></p><p>
      Dispatched when a message is received by the Consumer.
           </p>
      The MESSAGE event type; dispatched upon receipt of a message.
      <p>The value of this constant is <code>"message"</code>.</p>
           <p>The properties of the event object have the following values:</p>
      <table class="innertable" ><tr><th>Property</th><th>Value</th></tr><tr><td><code>bubbles</code></td><td>false</td></tr><tr><td><code>cancelable</code></td><td>false</td></tr><tr><td><code>currentTarget</code></td><td>The Object that defines the 
           event listener that handles the event. For example, if you use 
           <code>myButton.addEventListener()</code> to register an event listener, 
           myButton is the value of the <code>currentTarget</code>. </td></tr><tr><td><code>message</code></td><td>The message associated with this event.</td></tr><tr><td><code>target</code></td><td>The Object that dispatched the event; 
           it is not always the Object listening for the event. 
           Use the <code>currentTarget</code> property to always access the 
           Object listening for the event.</td></tr></table>
      </div><br/><br/><hr><br/><p></p><center class="copyright"><footer>The Apache Software Foundation</footer><br/>Wed Nov 15 2017, 09:50 AM +01:00  </center></div></body></html><!--The Apache Software Foundation<br/>Wed Nov 15 2017, 09:50 AM +01:00  -->