(Flex Data Services のみ)
パッケージmx.messaging
public class MessageAgent
継承MessageAgent Inheritance EventDispatcher Inheritance Object
実装IMXMLObject
SubclassesConsumer, Producer

MessageAgent クラスは、宛先に対するメッセージ処理に共通する基本的な低レベル機能を提供します。

メモ: 高度な使用のみを目的としています。このクラスは、既存のプロデューサクラスやコンシューマクラスなどのカスタムエージェントを作成する場合に使用します。

MXML シンタックスexpandedMXML シンタックスの非表示

Producer および Consumer クラスなどのすべてのメッセージエージェントクラスは MessageAgent を拡張し、以下のタグ属性を継承します。

 <mx:tagname
プロパティ channelSet="デフォルト値なし" clientId="デフォルト値なし" connected="false" destination="デフォルト値なし" requestTimeout="-1" subtopic="デフォルト値なし" イベント acknowledge="デフォルト値なし" channelConnect="デフォルト値なし" channelDisconnect="デフォルト値なし" channelFault="デフォルト値なし" fault="デフォルト値なし" propertyChange="デフォルト値なし" />


パブリックプロパティ
 プロパティ定義
  channelSet : ChannelSet
MessageAgent が使用する ChannelSet へのアクセスを提供します。
MessageAgent
  clientId : String
[read-only] MessageAgent のクライアント ID へのアクセスを提供します。
MessageAgent
  connected : Boolean
[read-only] この MessageAgent が現在、ChannelSet を介して宛先に接続されているかどうかを示します。
MessageAgent
 Inheritedconstructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  destination : String
MessageAgent の宛先へのアクセスを提供します。
MessageAgent
 Inheritedprototype : Object
[static] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  requestTimeout : int
送信メッセージの要求タイムアウト時間 (秒単位) に対するアクセスを提供します。
MessageAgent
  subtopic : String
MessageAgent が使用するリモート宛先のサブトピックへのアクセスを提供します。
MessageAgent
パブリックメソッド
 メソッド定義
  MessageAgent()
コンストラクタ。
MessageAgent
  acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void
送信されたメッセージの結果を受信したときに MessageResponder によって呼び出されます。
MessageAgent
 InheritedaddEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。
EventDispatcher
  channelConnectHandler(event:ChannelEvent):void
CONNECT ChannelEvent を処理します。
MessageAgent
  channelDisconnectHandler(event:ChannelEvent):void
DISCONNECT ChannelEvent を処理します。
MessageAgent
  channelFaultHandler(event:ChannelFaultEvent):void
ChannelFaultEvent を処理します。
MessageAgent
  disconnect():void
MessageAgent のネットワーク接続を切断します。
MessageAgent
 InheriteddispatchEvent(event:Event):Boolean
イベントをイベントフローに送出します。
EventDispatcher
  fault(errMsg:ErrorMessage, msg:IMessage):void
送信されたメッセージの失敗を受信したときに、MessageResponder によって呼び出されます。
MessageAgent
 InheritedhasEventListener(type:String):Boolean
EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。
EventDispatcher
 InheritedhasOwnProperty(name:String):Boolean
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  initialized(document:Object, id:String):void
実装オブジェクトが作成され、タグに指定されたすべてのプロパティが割り当てられた後に呼び出されます。
MessageAgent
 InheritedisPrototypeOf(theClass:Object):Boolean
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  logout():void
MessageAgent をリモート宛先からログアウトします。
MessageAgent
 InheritedpropertyIsEnumerable(name:String):Boolean
指定されたプロパティが存在し、列挙可能かどうかを示します。
Object
 InheritedremoveEventListener(type:String, listener:Function, useCapture:Boolean = false):void
EventDispatcher オブジェクトからリスナーを削除します。
EventDispatcher
  setCredentials(username:String, password:String):void
MessageAgent が宛先の認証に使用する証明書を設定します。
MessageAgent
 InheritedsetPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  setRemoteCredentials(username:String, password:String):void
セカンダリシステムへの認証のためにリモート宛先に渡すリモート資格情報を設定します。
MessageAgent
 InheritedtoString():String
指定されたオブジェクトのストリング表現を返します。
Object
 InheritedvalueOf():Object
指定されたオブジェクトのプリミティブ値を返します。
Object
 InheritedwillTrigger(type:String):Boolean
指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。
EventDispatcher
Protectedメソッド
 メソッド定義
  initChannelSet(message:IMessage):void
MessageAgent の初回の接続前に MessageAgent の channelSet プロパティを自動的に初期化します。
MessageAgent
  internalSend(message:IMessage):void
エージェントの ChannelSet を使って、MessageAgent から宛先にメッセージを送信します。
MessageAgent
イベント
 イベント一覧定義
  acknowledge 送信したメッセージに対する応答メッセージを受信したときに送出されます。MessageAgent
  channelConnect MessageAgent が使用中の基本チャンネルが接続されたときに送出されます。MessageAgent
  channelDisconnect MessageAgent が使用中の基本チャンネルが切断されたときに送出されます。MessageAgent
  channelFault MessageAgent が使用中の基本チャンネルでエラーが発生したときに送出されます。MessageAgent
  fault メッセージエラーが発生したときに送出されます。MessageAgent
  propertyChange MessageAgent の connected プロパティが変更されたときに送出されます。MessageAgent
プロパティの詳細
channelSetプロパティ
channelSet:ChannelSet  [read-write]

MessageAgent が使用する ChannelSet へのアクセスを提供します。ChannelSet は手動で作成して割り当てることができます。また、この MessageAgent の宛先に対して設定済みのチャンネルを使って、動的に初期化することもできます。

実装
    public function get channelSet():ChannelSet
    public function set channelSet(value:ChannelSet):void
clientIdプロパティ 
clientId:String  [read-only]

MessageAgent のクライアント ID へのアクセスを提供します。エージェントには、リモート宛先によってクライアント ID が割り当てられます。

実装
    public function get clientId():String
connectedプロパティ 
connected:Boolean  [read-only]

この MessageAgent が現在、ChannelSet を介して宛先に接続されているかどうかを示します。このプロパティが変更されると、propertyChange イベントが送出されます。

このプロパティはデータバインディングのソースとして使用できます。

実装
    public function get connected():Boolean
destinationプロパティ 
destination:String  [read-write]

MessageAgent の宛先へのアクセスを提供します。MessageAgent が現在接続されている場合、宛先を変更すると切断されます。

このプロパティはデータバインディングのソースとして使用できます。

実装
    public function get destination():String
    public function set destination(value:String):void

Throws
InvalidDestinationError — 宛先が null または長さが 0 の場合。
requestTimeoutプロパティ 
requestTimeout:int  [read-write]

送信メッセージの要求タイムアウト時間 (秒単位) に対するアクセスを提供します。タイムアウトに達する前にリモート宛先から応答または失敗を受信しなかった場合、メッセージは失敗となります。ゼロ以下の値を設定すると、要求はタイムアウトになりません。

実装
    public function get requestTimeout():int
    public function set requestTimeout(value:int):void
subtopicプロパティ 
subtopic:String  [read-write]

MessageAgent が使用するリモート宛先のサブトピックへのアクセスを提供します。

このプロパティはデータバインディングのソースとして使用できます。

実装
    public function get subtopic():String
    public function set subtopic(value:String):void
コンストラクタの詳細
MessageAgent()コンストラクタ
public 関数 MessageAgent()

コンストラクタ。

メソッドの詳細
acknowledge()メソッド
public function acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void

送信されたメッセージの結果を受信したときに MessageResponder によって呼び出されます。サブクラスでカスタム応答処理を実行する必要がある場合、このメソッドをサブクラスでオーバーライドすることができますが、super.acknowledge() も呼び出す必要があります。このメソッドにより、MessageAckEvent が送出されます。

パラメータ
ackMsg:AcknowledgeMessage — 返される AcknowledgMessage です。
 
msg:IMessage — 元の送信メッセージです。
channelConnectHandler()メソッド 
public function channelConnectHandler(event:ChannelEvent):void

CONNECT ChannelEvent を処理します。カスタム処理の実行が必要なサブクラスでこのメソッドをオーバーライドし、super.channelConnectHandler() を呼び出す必要があります。

パラメータ
event:ChannelEvent — ChannelEvent です。
channelDisconnectHandler()メソッド 
public function channelDisconnectHandler(event:ChannelEvent):void

DISCONNECT ChannelEvent を処理します。カスタム処理の実行が必要なサブクラスでこのメソッドをオーバーライドし、super.channelDisconnectHandler() を呼び出す必要があります。

パラメータ
event:ChannelEvent — ChannelEvent です。
channelFaultHandler()メソッド 
public function channelFaultHandler(event:ChannelFaultEvent):void

ChannelFaultEvent を処理します。カスタム処理の実行が必要なサブクラスでこのメソッドをオーバーライドし、super.channelFaultHandler() を呼び出す必要があります。

パラメータ
event:ChannelFaultEvent — ChannelFaultEvent
disconnect()メソッド 
public function disconnect():void

MessageAgent のネットワーク接続を切断します。このメソッドは、未処理のネットワーク操作が完了するまで待つことはしません。

fault()メソッド 
public function fault(errMsg:ErrorMessage, msg:IMessage):void

送信されたメッセージの失敗を受信したときに、MessageResponder によって呼び出されます。サブクラスでカスタム失敗処理を実行する必要がある場合、このメソッドをサブクラスでオーバーライドすることができますが、super.fault() も呼び出す必要があります。このメソッドにより、MessageFaultEvent が送出されます。

パラメータ
errMsg:ErrorMessage — ErrorMessage です。
 
msg:IMessage — このエラーの原因となった元の送信メッセージです。
initChannelSet()メソッド 
protected function initChannelSet(message:IMessage):void

MessageAgent の初回の接続前に MessageAgent の channelSet プロパティを自動的に初期化します。カスタムの初期化を実行するために、サブタイプによってオーバーライドされることがあります。

パラメータ
message:IMessage — 送信の必要があるメッセージです。
initialized()メソッド 
public function initialized(document:Object, id:String):void

実装オブジェクトが作成され、タグに指定されたすべてのプロパティが割り当てられた後に呼び出されます。

パラメータ
document:Object — このオブジェクトを作成した MXML ドキュメントです。
 
id:String — ドキュメントがこのオブジェクトを参照するために使用する ID。オブジェクトがドキュメントの deep プロパティである場合、ID は null になります。
internalSend()メソッド 
protected final function internalSend(message:IMessage):void

エージェントの ChannelSet を使って、MessageAgent から宛先にメッセージを送信します。MessageAgent のサブクラスは、このメソッドを使ってメッセージを送信する必要があります。

パラメータ
message:IMessage — 送信するメッセージです。

スロー
InvalidDestinationError — 宛先が設定されていない場合。
logout()メソッド 
public function logout():void

MessageAgent をリモート宛先からログアウトします。宛先からのログアウトは、サーバー設定で指定されているものと同じ ChannelSet を使用して接続されているあらゆるものに適用されます。たとえば、RTMP チャンネルで複数の DataService コンポーネントが接続されており、そのうち 1 つで logout() が呼び出された場合、同じ ChannelSet を使用して接続しているその他すべてのクライアントコンポーネントもログアウトされます。

setCredentials()メソッド 
public function setCredentials(username:String, password:String):void

MessageAgent が宛先の認証に使用する証明書を設定します。証明書は、同じ ChannelSet 上で接続されているすべてのサービスに適用されます。

パラメータ
username:String — ユーザー名です。
 
password:String — パスワードです。
setRemoteCredentials()メソッド 
public function setRemoteCredentials(username:String, password:String):void

セカンダリシステムへの認証のためにリモート宛先に渡すリモート資格情報を設定します。

パラメータ
username:String — ユーザー名です。
 
password:String — パスワードです。
イベントの詳細
acknowledgeevent 
イベントオブジェクトの型: mx.messaging.events.MessageAckEvent
MessageAckEvent.type property = mx.messaging.events.MessageAckEvent.ACKNOWLEDGE

送信したメッセージに対する応答メッセージを受信したときに送出されます。

ACKNOWLEDGE イベント型。確認応答の受信時に送出されます。

この定数の値は "acknowledge" です。

イベントオブジェクトの各プロパティには次の値が設定されます。

プロパティ
acknowledgeMessage MessageEvent のメッセージプロパティを AcknowledgeMessage として取得するためのユーティリティプロパティです。
bubblesfalse
cancelablefalse
currentTargetイベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
correlate この応答に関連付けられた元のメッセージ。
messageこのイベントに関連付けられたメッセージ。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。
channelConnectevent  
イベントオブジェクトの型: mx.messaging.events.ChannelEvent
ChannelEvent.type property = mx.messaging.events.ChannelEvent.CONNECT

MessageAgent が使用中の基本チャンネルが接続されたときに送出されます。

CONNECT イベント型。チャンネルがエンドポイントに接続されたことを示します。

この定数の値は "channelConnect" です。

イベントオブジェクトの各プロパティには次の値が設定されます。

プロパティ
bubblesfalse
cancelablefalse
channelこのイベントがトリガされたチャンネルです。
currentTargetイベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。
reconnecting このイベントを生成したチャンネルが再接続中かどうかを示します。
rejected このイベントを生成したチャンネルが拒否されたかどうかを示します。アクティビティがないことによりチャンネルが切断された場合は、これが true になり、フェイルオーバーが行われず、代替チャンネルへの接続も行われません。
channelDisconnectevent  
イベントオブジェクトの型: mx.messaging.events.ChannelEvent
ChannelEvent.type property = mx.messaging.events.ChannelEvent.DISCONNECT

MessageAgent が使用中の基本チャンネルが切断されたときに送出されます。

DISCONNECT イベント型。チャンネルがエンドポイントから切断されたことを示します。

この定数の値は "channelDisconnect" です。

イベントオブジェクトの各プロパティには次の値が設定されます。

プロパティ
bubblesfalse
cancelablefalse
channelこのイベントがトリガされたチャンネルです。
currentTargetイベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。
reconnecting このイベントを生成したチャンネルが再接続中かどうかを示します。
rejected このイベントを生成したチャンネルが拒否されたかどうかを示します。アクティビティがないことによりチャンネルが切断された場合は、これが true になり、フェイルオーバーが行われず、代替チャンネルへの接続も行われません。
channelFaultevent  
イベントオブジェクトの型: mx.messaging.events.ChannelFaultEvent
ChannelFaultEvent.type property = mx.messaging.events.ChannelFaultEvent.FAULT

MessageAgent が使用中の基本チャンネルでエラーが発生したときに送出されます。

FAULT イベント型。フォルトが発生したチャンネルを示します。

この定数の値は "channelFault" です。

イベントオブジェクトの各プロパティには次の値が設定されます。

プロパティ
bubblesfalse
cancelablefalse
channelこのイベントを生成したチャンネル。
currentTargetイベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
faultCode失敗に関する宛先固有の詳細を提供します。
faultDetail失敗の宛先固有の理由へのアクセスを提供します。
faultStringチャンネル自体がフォルトを生成しなかった場合は、フォルトの根本的な理由へのアクセスを提供します。
reconnecting このイベントを生成したチャンネルが再接続中かどうかを示します。
rootCause チャンネル自体がフォルトを生成しなかった場合は、フォルトの根本的な理由へのアクセスを提供します。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。
faultevent  
イベントオブジェクトの型: mx.messaging.events.MessageFaultEvent
MessageFaultEvent.type property = mx.messaging.events.MessageFaultEvent.FAULT

メッセージエラーが発生したときに送出されます。

FAULT イベント型。メッセージフォルトの発生時に送出されます。

この定数の値は "fault" です。

イベントオブジェクトの各プロパティには次の値が設定されます。

プロパティ
bubblesfalse
cancelablefalse
currentTargetイベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
faultCode失敗に関する宛先固有の詳細を提供します。
faultDetail失敗の宛先固有の理由へのアクセスを提供します。
faultStringチャンネル自体がフォルトを生成しなかった場合は、フォルトの根本的な理由へのアクセスを提供します。
messageこのイベントの ErrorMessage。
rootCause 失敗の根本的な理由へのアクセスを提供します (存在する場合)。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。
propertyChangeevent  
イベントオブジェクトの型: mx.events.PropertyChangeEvent
PropertyChangeEvent.type property = mx.events.PropertyChangeEvent.PROPERTY_CHANGE

MessageAgent の connected プロパティが変更されたときに送出されます。また、コンシューマの subscribed が変更されたときにも送出されます。

PropertyChangeEvent.PROPERTY_CHANGE 定数により、PropertyChange イベントのイベントオブジェクトの type プロパティ値が定義されます。

イベントオブジェクトの各プロパティには次の値が設定されます。

プロパティ
bubblesコンストラクタによって決定されます。デフォルトは false です。
cancelableコンストラクタによって決定されます。デフォルトは false です。
kind変更の種類。PropertyChangeEventKind.UPDATE または PropertyChangeEventKind.DELETE のいずれかです。
oldValue元のプロパティの値です。
newValue新しいプロパティの値 (存在する場合) です。
property変更されたプロパティです。
source変更されたプロパティを含むオブジェクトです。
currentTargetイベントを処理するイベントリスナーを定義するオブジェクト。たとえば、イベントリスナーの登録に myButton.addEventListener() を使用すると、currentTarget の値は "myButton" となります。
targetイベントを送出したオブジェクトを表します。このオブジェクトは必ずしもイベントを受け取るオブジェクトとは限りません。イベントを受け取るオブジェクトに常にアクセスするには、currentTarget プロパティを使用してください。

関連項目