This page was saved using jaction on 2006-09-04 8:33:33.
Address: http://flexdocs.kr/docs/flex2/langref/mx/messaging/Consumer.html
Title: mx.messaging.Consumer (Flex™ 2 레퍼런스 가이드)  •  Size: 63662
(Flex Data Services 전용)
Packagemx.messaging
Classpublic class Consumer
InheritanceConsumer Inheritance MessageAgent Inheritance EventDispatcher Inheritance Object

컨슈머(consumer)는 메세지를 수신하기 위해서 행선지에 예약(subscribe) 합니다. 컨슈머(consumer)가 예약(subscribe) 및 안예약(subscribe)의 메세지를 송신하면, 처리가 성공했는지 어떠했는지에 의해 MessageAckEvent 또는 MessageFaultEvent 가 생성됩니다. 예약(subscribe) 하면, 컨슈머(consumer)는 수신한 각 메세지에 대해 MessageEvent 를 dispatch합니다. 컨슈머(consumer)는 selector를 사용해 메세지를 필터 하는 기능을 제공합니다. 이 selector는, 행선지에서 이해 가능하지 않으면 안됩니다.

MXML 문장구조법expandedMXML 문장구조법의 비표시

<mx:Consumer> 태그는, Super 클래스의 모든 태그 속성을 Inheritance해, 다음의 태그 속성을 추가합니다.

 <mx:Consumer property messageType="디폴트치 없음" re예약(subscribe)Attempts="5" re예약(subscribe)Interval="5000" selector="디폴트치 없음" timestamp="디폴트치 없음" /> 


Public property
 property정의
 InheritedchannelSet : ChannelSet
MessageAgent 가 사용하는 ChannelSet 에의 액세스를 제공합니다.
MessageAgent
 InheritedclientId : String
MessageAgent 의 클라이언트 ID 에의 액세스를 제공합니다.
MessageAgent
 Inheritedconnected : Boolean
이 MessageAgent 가 현재, ChannelSet 를 개입시켜 행선지에 접속되고 있는지 어떤지를 나타냅니다.
MessageAgent
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
 Inheriteddestination : String
MessageAgent 의 행선지에의 액세스를 제공합니다.
MessageAgent
  messageType : String
[read-only] 컨슈머(consumer)가 처리 가능한 메세지의 타입의 서버 앨리어스(alias)입니다.
Consumer
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
 InheritedrequestTimeout : int
송신 메세지의 요구 타임 아웃 시간 (초단위)에 대한 액세스를 제공합니다.
MessageAgent
  re예약(subscribe)Attempts : int
행선지에의 접속이 실패했을 경우에 컨슈머(consumer)가 재예약(subscribe)를 시행하는 회수입니다.
Consumer
  re예약(subscribe)Interval : int
재예약(subscribe)를 시행하는 간격 (밀리 세컨드수)입니다.
Consumer
  selector : String
컨슈머(consumer)의 selector입니다.
Consumer
  예약(subscribe)d : Boolean
[read-only] 컨슈머(consumer)가 현재 예약(subscribe) 되고 있는지 어떤지를 나타냅니다.
Consumer
  subtopic : String
[write-only] 컨슈머(consumer)가 접속되고 있어 예약(subscribe) 되고 있을 때 subtopic을 설정하면, 컨슈머(consumer)가 예약(subscribe) 및 예약(subscribe) 해제된다고 하는 부차적인 영향이 생깁니다.
Consumer
  timestamp : Number
이 컨슈머(consumer)가 수신한 최신의 메세지의 타임 스탬프가 포함됩니다.
Consumer
Public Methods
 Methods정의
  Consumer (messageType:String = "flex.messaging.messages.AsyncMessage")
컨슈머(consumer)를 작성합니다.
Consumer
 Inheritedacknowledge (ackMsg:AcknowledgeMessage , msg:IMessage ):void
송신된 메세지의 결과를 수신했을 때에 MessageResponder 에 의해 불려 갑니다.
MessageAgent
 InheritedaddEventListener (type:String , listener:Function , useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
event listener objects를 EventDispatcher object에 등록해, listener가 이벤트의 통지를 받도록(듯이) 합니다.
EventDispatcher
 InheritedchannelConnectHandler (event:ChannelEvent ):void
CONNECT ChannelEvent 를 처리합니다.
MessageAgent
 InheritedchannelDisconnectHandler (event:ChannelEvent ):void
DISCONNECT ChannelEvent 를 처리합니다.
MessageAgent
 InheritedchannelFaultHandler (event:ChannelFaultEvent ):void
ChannelFaultEvent 를 처리합니다.
MessageAgent
  disconnect ():void
컨슈머(consumer)를 리모트 행선지로부터 절단 합니다.
Consumer
 InheriteddispatchEvent (event:Event ):Boolean
이벤트를 event 플로우(flow)에 dispatch합니다.
EventDispatcher
 Inheritedfault (errMsg:ErrorMessage , msg:IMessage ):void
송신된 메세지의 실패를 수신했을 때에, MessageResponder 에 의해 불려 갑니다.
MessageAgent
 InheritedhasEventListener (type:String ):Boolean
EventDispatcher object에, 특정의 event 타입에 대해서 등록된 listener가 있을지 어떨지를 확인합니다.
EventDispatcher
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 Inheritedinitialized (document:Object , id:String ):void
Implements object가 작성되어 태그로 지정된 모든 property를 할당할 수 있었던 후에 불려 갑니다.
MessageAgent
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 Inheritedlogout ():void
MessageAgent 를 리모트 행선지로부터 로그아웃 합니다.
MessageAgent
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
  receive (timestamp:Number = 0):void
지정된 타임 스탬프로부터 현재까지의, 서버로부터의 보류가 되어 있는 메세지를 모두 요구합니다.
Consumer
 InheritedremoveEventListener (type:String , listener:Function , useCapture:Boolean = false):void
EventDispatcher object로부터 listener를 삭제합니다.
EventDispatcher
 InheritedsetCredentials (username:String , password:String ):void
MessageAgent 가 행선지의 인증에 사용하는 증명서를 설정합니다.
MessageAgent
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
 InheritedsetRemoteCredentials (username:String , password:String ):void
세칸다리시스템에의 인증을 위해서(때문에) 리모트 행선지에 건네주는 리모트 자격 정보를 설정합니다.
MessageAgent
  예약(subscribe) (clientId:String = null):void
리모트 행선지에 예약(subscribe) 합니다.
Consumer
 InheritedtoString ():String
지정된 object의 string 표현을 돌려줍니다.
Object
  un예약(subscribe) ():void
리모트 행선지로부터 예약(subscribe) 해제합니다.
Consumer
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
 InheritedwillTrigger (type:String ):Boolean
지정된 event 타입에 대해, 이 EventDispatcher object 또는 그 조상에게 event listener가 등록되어 있는지 어떤지를 확인합니다.
EventDispatcher
Protected Methods
 Methods정의
  getSubscribeMessage ():CommandMessage
예약(subscribe)멧세이지를 돌려줍니다.
Consumer
  getUn예약(subscribe)Message ():CommandMessage
안예약(subscribe)멧세이지를 돌려줍니다.
Consumer
  initChannelSet (message:IMessage ):void
컨슈머(consumer)는, 이 Methods를 재정의(override) 해,messageType 의 값에 근거해 ChannelSet 를 초기화합니다.
Consumer
 InheritedinternalSend (message:IMessage ):void
에이전트의 ChannelSet 를 사용해, MessageAgent 로부터 행선지로 메세지를 송신합니다.
MessageAgent
이벤트
 이벤트일람정의
 Inheritedacknowledge 송신한 메세지에 대한 응답 메세지를 수신했을 때에 dispatch됩니다. MessageAgent
 InheritedchannelConnect MessageAgent 가 사용중의 기본 채널이 접속되었을 때에 dispatch됩니다. MessageAgent
 InheritedchannelDisconnect MessageAgent 가 사용중의 기본 채널이 절단 되었을 때에 dispatch됩니다. MessageAgent
 InheritedchannelFault MessageAgent 가 사용중의 기본 채널로 에러가 발생했을 때에 dispatch됩니다. MessageAgent
 Inheritedfault 메세지 에러가 발생했을 때에 dispatch됩니다. MessageAgent
  message 컨슈머(consumer)가 메세지를 수신했을 때에 dispatch됩니다. Consumer
 InheritedpropertyChange MessageAgent 의 connected property가 변경되었을 때에 dispatch됩니다. MessageAgent
property의 상세
messageTypeproperty
messageType:String   [read-only]

컨슈머(consumer)가 처리 가능한 메세지의 타입의 서버 앨리어스(alias)입니다.

Implements
    public function get messageType():String
re예약(subscribe)Attemptsproperty 
re예약(subscribe)Attempts:int   [read-write]

행선지에의 접속이 실패했을 경우에 컨슈머(consumer)가 재예약(subscribe)를 시행하는 회수입니다. 값 -1 을 지정하면, 무한의 회수로 시행할 수 있습니다.

Implements
    public function get re예약(subscribe)Attempts():int
    public function set re예약(subscribe)Attempts(value:int ):void
re예약(subscribe)Intervalproperty 
re예약(subscribe)Interval:int   [read-write]

재예약(subscribe)를 시행하는 간격 (밀리 세컨드수)입니다. 컨슈머(consumer)가 예약 구독 요구에 대한 응답을 받아들이지 않았던 경우, 지정된 밀리 세컨드수 기다리고 나서 재예약(subscribe)를 시도합니다. 값을 0 으로 설정하면 재예약 구독이 무효가 됩니다.

Implements
    public function get re예약(subscribe)Interval():int
    public function set re예약(subscribe)Interval(value:int ):void

Throws
ArgumentError — 부의 값을 할당할 수 있었을 경우.
selectorproperty 
selector:String   [read-write]

컨슈머(consumer)의 selector입니다. 이것은 행선지에게 건네지는 식에서, 행선지는 이것을 사용해 컨슈머(consumer)에게 전달하는 메세지를 필터 합니다.

예약(subscribe)() Methods를 호출하기 전에, 이 property를 부차적인 영향을 주지 않고 로 설정할 수가 있습니다. 컨슈머(consumer)가 행선지에 예약(subscribe) 한 다음에 이 값을 변경하면, 컨슈머(consumer)의 예약 구독이 갱신되어 새로운 selector의 식이 곧바로 사용된다고 하는 부차적인 영향이 발생합니다.

리모트 행선지가 selector의 식의 값을 이해할 수 있을 필요가 있습니다.

Implements
    public function get selector():String
    public function set selector(value:String ):void
예약(subscribe)dproperty 
예약(subscribe)d:Boolean   [read-only]

컨슈머(consumer)가 현재 예약(subscribe) 되고 있는지 어떤지를 나타냅니다. 이 property가 변경되면,propertyChange 이벤트가 dispatch됩니다.

이 property는 데이터 바인딩의 소스로서 사용할 수 있습니다.

Implements
    public function get 예약(subscribe)d():Boolean
subtopicproperty 
subtopic:String   [write-only]

컨슈머(consumer)가 접속되고 있어 예약(subscribe) 되고 있을 때 subtopic을 설정하면, 컨슈머(consumer)가 예약(subscribe) 및 예약(subscribe) 해제된다고 하는 부차적인 영향이 생깁니다.

Implements
    public function set subtopic(value:String ):void
timestampproperty 
timestamp:Number   [read-write]

이 컨슈머(consumer)가 수신한 최신의 메세지의 타임 스탬프가 포함됩니다. 이 값은 receive() 호출로 행선지에게 건네져 행선지에, 이 타임 스탬프 이후의 컨슈머(consumer)에 대한 메세지를 전달하도록(듯이) 요구합니다. 폴링 처리시에,timestamp 값보다 큰 타임 스탬프치를 가지는 모든 메세지가 돌려주어집니다. 이 값을 -1 로 설정하면, 행선지로부터 모든 캐쉬된 메세지가 취득됩니다.

Implements
    public function get timestamp():Number
    public function set timestamp(value:Number ):void
constructor    의 상세
Consumer()constructor   
public 함수 Consumer(messageType:String = "flex.messaging.messages.AsyncMessage")

컨슈머(consumer)를 작성합니다.

Parameters
messageType:String (default = "flex.messaging.messages.AsyncMessage") — 컨슈머(consumer)가 예약(subscribe) 하는 리모트 행선지를 호스트 하고 있는 서비스로 처리되는 메세지 타입의 앨리어스(alias)입니다.

Example
function initConsumer() :void
       {
var consumer:Consumer = new Consumer();
consumer.destination = "NASDAQ";
consumer.selector = "operation IN ('Bid', 'Ask')";
consumer.addEventListener(MessageEvent.MESSAGE, messageHandler);
consumer.예약(subscribe)();
       }
function messageHandler(event:MessageEvent) :void
       {
var msg:IMessage = event.message;
var info:Object = msg.body;
trace("-App recieved message:" + msg.toString());
       }
       

Methods의 상세
disconnect()Methods
public override function disconnect():void

컨슈머(consumer)를 리모트 행선지로부터 절단 합니다. 이 Methods는, 안예약(subscribe) 후에 어플리케이션에 불필요해진 컨슈머(consumer)에 대해서 호출할 필요가 있습니다. 이 Methods는 미완료의 네트워크 처리가 완료할 때까지 기다리지 않고, 서버에 안예약(subscribe)멧세이지도 송신하지 않습니다. disconnect()를 호출한 후, 컨슈머(consumer)는 절단 및 안예약(subscribe) 상태인 것을 보고합니다. 이것은, 컨슈머(consumer)가 재접속해 재예약(subscribe) 할 때까지 메세지를 수신하지 않기 때문입니다.

getSubscribeMessage()Methods 
protected function getSubscribeMessage():CommandMessage

예약(subscribe)멧세이지를 돌려줍니다. 서브 클래스가 커스텀의 예약(subscribe)멧세이지를 필요로 하는 경우, 이 Methods를 서브 클래스에서 재정의(override) 할 필요가 있습니다.

반환값
CommandMessage — 예약(subscribe) CommandMessage 입니다.
getUn예약(subscribe)Message()Methods 
protected function getUn예약(subscribe)Message():CommandMessage

안예약(subscribe)멧세이지를 돌려줍니다. 서브 클래스가 커스텀의 안예약(subscribe)멧세이지를 필요로 하는 경우, 이 Methods를 서브 클래스에서 재정의(override) 할 필요가 있습니다.

반환값
CommandMessage — 안예약(subscribe) CommandMessage 입니다.
initChannelSet()Methods 
protected override function initChannelSet(message:IMessage ):void

컨슈머(consumer)는, 이 Methods를 재정의(override) 해,messageType 의 값에 근거해 ChannelSet 를 초기화합니다.

Parameters
message:IMessage — 송신의 필요가 있는 메세지입니다.
receive()Methods 
public function receive(timestamp:Number = 0):void

지정된 타임 스탬프로부터 현재까지의, 서버로부터의 보류가 되어 있는 메세지를 모두 요구합니다.

Parameters
timestamp:Number (default = 0) — 이 타임 스탬프 이후의 메세지를 요구합니다.
예약(subscribe)()Methods 
public function 예약(subscribe)(clientId:String = null):void

리모트 행선지에 예약(subscribe) 합니다.

Parameters
clientId:String (default = null) — 예약(subscribe)에 사용하는 클라이언트 ID. 지속성이 없는 컨슈머(consumer)에게는 null 를 사용합니다. 예약 구독에 지속성이 있는 경우, 컨슈머(consumer)가 예약(subscribe) 할 때마다 리모트 행선지의 올바른 지속성 예약 구독에 재접속할 수 있도록, 매회 일관한 값을 입력할 필요가 있습니다.

Throws
InvalidDestinationError — 행선지가 설정되어 있지 않은 경우.
un예약(subscribe)()Methods 
public function un예약(subscribe)():void

리모트 행선지로부터 예약(subscribe) 해제합니다. 지속성이 있는 JMS 예약 구독의 경우, 이것을 실행하면 JMS 서버의 지속성 예약 구독이 파기됩니다.

이벤트의 상세
messageevent 
Event object type: mx.messaging.events.MessageEvent
MessageEvent.type property = mx.messaging.events.MessageEvent.MESSAGE

컨슈머(consumer)가 메세지를 수신했을 때에 dispatch됩니다.

MESSAGE 이벤트형. 메세지의 수신시에 dispatch됩니다.

이 정수의 값은 "message" 입니다.

event object의 각 property에는 다음의 값이 설정됩니다.

PropertyValue
bubblesfalse
cancelablefalse
currentTarget이벤트를 처리하는 event listener를 정의하는 object. 예를 들어, event listener의 등록에 myButton.addEventListener() 를 사용하면,currentTarget 의 값은 "myButton" 가 됩니다.
message이 이벤트에 관련지을 수 있었던 메세지입니다.
target이벤트를 dispatch한 object를 나타냅니다. 이 object는 반드시 이벤트를 받는 object라고는 할 수 없습니다. 이벤트를 받는 object에 항상 액세스 하려면 ,currentTarget property를 사용해 주세요.






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/mx/messaging/Consumer.html