outgoingMessage

説明

メッセージを 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;
}

 

ヘルプをすばやく簡単に入手

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト