関数セレクターは、要求メッセージのデータに対して実行すべき操作を指示するために使用します。 関数セレクターは、エクスポート・バインディングの一部として構成されます。
インターフェースを公開する SCA エクスポートを例として考えてみます。このインターフェースには、作成および更新の 2 つの操作が組み込まれています。エクスポートの JMS バインディングは、キューから読み取られます。
メッセージがキューに到着すると、エクスポートには関連するデータが渡されますが、ワイヤリングされたコンポーネントで、エクスポートのインターフェースからどの操作を呼び出すべきかの情報は渡されません。その操作は、関数セレクターとエクスポート・バインディング構成によって決まります。
インターフェースに 1 つの操作しかない場合には、関数セレクターを指定する必要はありません。
複数の関数セレクターがプリパッケージされています。以降のセクションで、これらの関数セレクターをリストします。
関数 セレクター | 説明 |
---|---|
単純な JMS データ・バインディング用 JMS 関数セレクター | メッセージの JMSType プロパティーを使用して操作名を選択します。 |
JMS ヘッダー・プロパティー関数セレクター | ヘッダーの JMS ストリング・プロパティー、TargetFunctionName の値を返します。 |
JMS サービス・ゲートウェイ関数セレクター | クライアントによって設定された JMSReplyTo プロパティーを調べ、要求が片方向操作と両方向操作のどちらであるかを判別します。 |
次の表は、WebSphere MQ バインディングで使用できる関数セレクターの一覧です。
関数 セレクター | 説明 |
---|---|
MQ handleMessage 関数セレクター | handleMessage を値として返します。この値は、エクスポート・メソッド・バインディングを使用してインターフェースの操作名にマップされています。 |
MQ が JMS デフォルト関数セレクターを使用 | MQRFH2 ヘッダーのフォルダーの TargetFunctionName プロパティーからネイティブ操作を読み取ります。 |
MQ がメッセージ本体のフォーマットをネイティブ関数として使用 | 最後のヘッダーの Format フィールドを検索し、そのフィールドをストリングとして返します。 |
MQ タイプ関数セレクター | MQRFH2 ヘッダーで検出した Msd、Set、Type、および Format プロパティーを含む URL を取得して、エクスポート・バインディング内にメソッドを作成します。 |
MQ サービス・ゲートウェイ関数セレクター | MQMD ヘッダー内の MsgType プロパティーを使用して操作名を判断します。 |
次の表は、HTTP バインディングで使用できる関数セレクターの一覧です。
関数 セレクター | 説明 |
---|---|
TargetFunctionName ヘッダーに基づく HTTP 関数セレクター | クライアントからの TargetFunctionName HTTP ヘッダー・プロパティーを使用して、実行時にエクスポートから呼び出す操作を判断します。 |
URL および HTTP メソッドに基づく HTTP 関数セレクター | クライアントからの HTTP メソッドに付加された URL の相対パスを使用して、エクスポートに定義されたネイティブ操作を判断します。 |
操作名が設定された URL に基づく HTTP サービス・ゲートウェイ関数セレクター | 要求 URL に「operationMode = oneWay」が付加されている場合、その URL に基づいて呼び出すメソッドを判断します。 |