| ThraedとEclipseビューの更新 |
| |
| ThraedとEclipseビューの更新について、Trap受信によるTrap受信テーブルビュー更新を例にして流れを以下に示します。 |
1. BIRT plugins org.apache.derby.core_10.1.2.1をNetJFWatcher pluginに移動する。
2. BIRT pluginsのorg.apache.derby.core_10.1.2.1は削除
3. NetJFWatcher libのApache Derby関連jarは削除
RMI or Socket接続のいずれとするか ?
【結論】
Socket接続
【理由】
Eclipseのセキュリティ・ポリシーは現状不明で調査・対応にはかなりの時間を要するため。
| Winodws、Linux Ping死活監視実現方法 |
Ping相当としてdaytime port 13などに対するポートスキャンなどによる死活監視を行うかPingコマンド呼び出しとするか ?
【結論】
Linux/Unixでは、InetAddress#isReachable メソッドを使用し、Reachability をチェックする(ICMP を使用)
【理由】
PingコマンドはsetUID問題があり、root以外ではNG呼び出し
osプラットフォーム対応は、システムプロパティから判別
String osName = System.getProperty("os.name");
// Reachability のチェック ICMP が使用される
boolean isReachable = InetAddress.getByName(アドレス).isReachable(タイムアウト値);
| SNMPブラウザ Trap受信イベントをEclipse RCPビューに表示 |
Trap受信ThreadからEclipse RCPビューを制御(Trap受信をリアルタイムにテーブル表示)しようとすると固まる。
(Eclipseのヘルプの[Platform プラグイン・デベロッパー・ガイド]->[プログラマーズ・ガイド]->[Standard Widget Toolkit]->[スレッド化の問題]などを参照)
対処として、DisplayクラスのsyncExec、asyncExecメソッドの使用などが記述されているが、結果的に以下とした。
Trap受信 queue テーブル表示ViewのDisplayクラスの
-------- timerExecメソッドで queueを定期監視
-----> ○○○ ----->
--------
jdk http api調査
-----> jdk1.5からHTTPアクセスタイムアウト実装
| JavaScriptとFlash ActionScript連携の調査・検討 |
1. Flash ActionScriptからJavaScript呼び出し
Flash ActionScript
this.onPress = function() {
// メニューを非表示
_parent.isMenuShow = "true";
_parent.menuNodeViewOpen._visible = false;
..........
getURL( "javascript:openNodeView('" + preaddress + "', '" + listaddress + "','" + NodeEngine + "', '" + mapAuthMode + "'" + ") " );
// メニューのロールオーバーの色を元に戻す
menutext.textColor = ROLLOUT_TEXT;
..........
};
JavaScript
<script language="JavaScript" type="text/javascript" >
<!--
function openNodeView(paraip, paraconvip, paraEngine, paraAuthMode){
..........
}
//-->
</script>
2-a. HTMLからFlash ActionScriptへのデータ渡し
<html>
<HEAD>
</HEAD>
<BODY bgcolor="#FFFFFF">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH=1900.0 HEIGHT=1200.0 id="NetMapDraw" ALIGN="">
<PARAM NAME=movie VALUE="flash/NetMapDraw.swf?mapAuthMode=noAuth&hostname=localhost&port=1920">
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
★パラメータ渡し
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="flash/NetMapDraw.swf?mapAuthMode=noAuth&hostname=localhost&port=1920" quality=high bgcolor=#FFFFFF
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
★パラメータ渡し
WIDTH=1900.0 HEIGHT=1200.0 NAME="NetMapDraw" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
</BODY>
</html>