説明
メッセージを ColdFusion からメッセージレシーバーに送信します。
カテゴリ
イベントゲートウェイの開発
シンタックス
public String outgoingMessage(coldfusion.eventgateway.CFEvent message)
|
関連項目
『ColdFusion アプリケーションの開発』のColdFusion 関数または CFC への応答
パラメーター
パラメーター
|
説明
|
---|
message
|
送信するメッセージを含む coldfusion.eventgateway.CFEvent インスタンスです。
|
戻り値
メッセージ ID やステータスインジケータなどのゲートウェイ固有の文字列です。
使用方法
このメソッドは、ColdFusion によって送信されたメッセージを処理の対象とし、ゲートウェイタイプに応じた必要な処理を加えて、メッセージを(通常は外部の)メッセージレシーバーに送信します。リスナー CFC のリスナーメソッドがメッセージを返すとき、または ColdFusion アプリケーションが SendGatewayMessage 関数を呼び出すときに、ColdFusion はこのメソッドを呼び出します。ColdFusion は、このメソッドによって返された String を、CFML SendGatewayMessage 関数の戻り値として渡します。
例
次の例は、ColdFusion SocketGateway クラスの outgoingMessage メソッドです。
public String outgoingMessage(coldfusion.eventgateway.CFEvent cfmsg)
{
String retcode="ok";
// イベントハンドラーから返されたデータのテーブルを取得
Map data = cfmsg.getData();
String message = (String) data.get("MESSAGE");
// 適切なソケットを見つけて socketRegistry ハッシュテーブルに書き込む
if (cfmsg.getOriginatorID() != null && message != null)
{
SocketServerThread st =
((SocketServerThread)socketRegistry.get(cfmsg.getOriginatorID()));
if(st != null)
st.writeOutput(message);
else
{
log.error("メッセージを送信できません。OriginatorID '" +
cfmsg.getOriginatorID() + "' は有効なソケット ID ではありません。");
retcode="failed";
}
}
else if (data.get("OriginatorID") != null && message != null)
{
SocketServerThread st =
((SocketServerThread)socketRegistry.get(data.get("OriginatorID")));
if(st != null)
st.writeOutput(message);
else
{
log.error("メッセージを送信できません。OriginatorID '" +
data.get("OriginatorID") + "' は有効なソケット ID ではありません。");
retcode="failed";
}
}
else
{
log.error("メッセージを送信できません。OriginatorID/MESSAGE は
使用できません。");
retcode="failed";
}
return retcode;
}
|