ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド

[目次][索引][前へ][次へ]

7.3 インプロセス連携カスタムアダプターの作成

この節では,インプロセス連携カスタムアダプターの作成方法について説明します。

インプロセス連携カスタムアダプターの実装では,StreamInprocessUPインタフェースを実装したクラスを作成する必要があります。

インプロセス連携カスタムアダプターは,SDPサーバで生成したSDPConnector型オブジェクトを,StreamInprocessUPインタフェースの実装クラスのexecuteメソッドのパラメーターとして受け取ります。executeメソッドには,カスタムアダプターのmainメソッドに相当する処理を記述します。

ストリームデータの送受信には,StreamInputインタフェースおよびStreamOutputインタフェースを使用します。StreamInput型オブジェクトおよびStreamOutput型オブジェクトは,executeメソッドのパラメーターとして渡されたSDPConnector型オブジェクトのメソッドによって生成します。

ストリームデータの送受信時に使用するインタフェースについて,概要を示します。

ストリームデータ送信時
ストリームデータの送信には,StreamInputインタフェースを使用します。
カスタムアダプターでは,executeメソッドのパラメーターとして渡されたSDPConnector型オブジェクトを使用して,StreamInput型オブジェクトを生成します。生成したStreamInput型オブジェクトのputメソッドを使用して,データを送信します。
ストリームデータ受信時
ストリームデータの受信には,StreamOutputインタフェースを使用します。
カスタムアダプターでは,executeメソッドのパラメーターとして渡されたSDPConnector型オブジェクトを使用して,StreamOutput型オブジェクトを生成します。生成したStreamOutput型オブジェクトを使用して,次のどちらかの方式でSDPサーバからクエリ結果のストリームデータ(タプル)を取得します。
  • ポーリング方式
    SDPサーバから能動的にタプルを取得する,レイテンシ重視の方式です。getメソッドまたはgetAllメソッドを使用して,タプルを受信します。
  • コールバック方式
    SDPサーバ上でタプルが生成されたときに,タプルを取得するためのメソッドがSDPサーバによって呼び出される方式です。この方式を使用する場合,SDPサーバに呼び出されるメソッドは,事前に登録しておく必要があります。ポーリング方式と比較してレイテンシは増えますが,結果が生成された場合だけ処理するのでCPU効率を重視した方式です。

なお,インプロセス連携カスタムアダプターを使用する場合は,user_app.<インプロセス連携AP名>.propertiesに次の記述が必要になります。

 
user_app.classname=カスタムアダプターのメインクラス名
user_app.classpath_dir=カスタムアダプターのメインクラスのパス名
 

user_app.<インプロセス連携AP名>.propertiesの指定方法については,マニュアル「uCosminexus Stream Data Platform - Application Framework システム構築・運用ガイド」を参照してください。

<この節の構成>
7.3.1 ストリームデータの送信(インプロセス連携カスタムアダプター)
7.3.2 クエリ結果データの受信(インプロセス連携カスタムアダプター)
7.3.3 注意事項