ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド
ここでは,「9.3.1 インプロセス連携カスタムアダプターのサンプルプログラムの実行手順」の手順4.でコンパイルしたインプロセス連携送受信制御AP(Inprocess_Main.java)の内容について説明します。このプログラムは,タプルを送受信するアプリケーションを制御する,メインプログラムです。
ソースコードを次に示します。なお,「//【1】」「//〜【1】」などのコメントは,以降の説明の番号と対応しています(これらのコメントは,実際のサンプルプログラムには記載されていません。また,一部コメントの説明は実際のサンプルプログラムと異なります)。
package samples; import jp.co.Hitachi.soft.sdp.api.SDPConnector; import jp.co.Hitachi.soft.sdp.api.inprocess.StreamInprocessUP; import jp.co.Hitachi.soft.sdp.common.exception.SDPClientException; public class Inprocess_Main implements StreamInprocessUP { // 受信用スレッドオブジェクト Inprocess_Receiver receiver = null; // 送信用スレッドオブジェクト Inprocess_Sender sender = null; // SDPサーバとのコネクター SDPConnector connector = null; //【1】 public void execute(SDPConnector sc) { //〜【1】 this.connector = sc; //【2】 // ポーリング用受信スレッドを開始します this.receiver = new Inprocess_Receiver(sc); receiver.start(); // 送信スレッドを開始します this.sender = new Inprocess_Sender(sc); sender.start(); //〜【2】 } //【1】 public void stop() { //〜【1】 try { //【3】 // 送信スレッドを停止します if(sender != null) { sender.terminate(); sender.join(); } // 受信スレッドを停止します if(receiver != null){ receiver.terminate(); receiver.join(); } } catch (InterruptedException e) { System.err.println("Main : " + e.getMessage()); } try { // コネクターを閉じます connector.close(); } catch (SDPClientException sce) { System.err.println("Main : " + sce.getMessage()); } //〜【3】 } }
ソースコードの内容について説明します。
All Rights Reserved. Copyright (C) 2010, 2014, Hitachi, Ltd.