2. コマンドについて 

WebOTX Object Broker が提供している以下のコマンドについて説明しています。

 
2.1.  ORB運用コマンド

Windows版には、環境設定(Windows共通)を行う以下のコマンドがあります。

また、サーバアプリケーションに対してログ出力モードの切り替えを行う以下のコマンドがあります。

また、サーバプロセス情報のリスト表示を行う以下のコマンドがあります

 
2.1.1. orbcustm(Windows版)
名前
orbcustm - 環境設定(Windows共通)
形式
orbcustm
機能説明
orbcustmは、WebOTX Object Brokerの環境設定を行います。


「設定変更」について

WebOTX Object Brokerの設定を変更するときは、必ずWebOTX Object Brokerのサーバが終了していることを確認してください。WebOTX Object Brokerのサーバが動作している最中に設定を変更した場合の動作は保証しません。

WebOTX Object Brokerのサーバを終了するには「コントロールパネル」の「サービス」を開き、「ObjectSpinner」を選択した後に[停止]ボタンを押します。

注意事項
orbcustmは、ドメイン未使用のWebOTX Object Brokerの環境設定を行う事が出来ます。
ドメイン使用時のWebOTX Object Brokerの環境設定方法は、WebOTX 運用編を参照して下さい。
 
2.1.2. chconf
名前
chconf - ログ出力モードの切り替え
形式
chconf [Oad|InterfaceRepository|NameService|Corbaloc|CacheNameService] [-oblog none|error|warning|info] [-messagelog on|off] [-syslog on|off] -WOdomain domainname
機能説明
chconfは引数で指定した情報をもとに、それに対応するサーバアプリケーションに対してログ出力モードの切り替えを行います。

ログ出力モードの切り替えは、すでに起動しているサーバに対してのみ行うことができます。

各オプションの意味は以下のとおりです。
Oad OADサーバのログ出力モードの切り替えを行います。
InterfaceRepository IRサーバのログ出力モードの切り替えを行います。
NameService 名前サーバのログ出力モードの切り替えを行います。
Corbaloc corbalocサーバのログ出力モードの切り替えを行います。
CacheNameService キャッシュ名前サーバのログ出力モードの切り替えを行います。
-oblog ログファイルに出力するレベルを指定します。
none 情報出力を行いません。
error エラー情報のみ出力します。
warning エラーとワーニング情報を出力します。
info すべての情報を出力します。
-messagelog 通信相手、通信量のログ出力を指定します。
on 情報出力を行います。
off 情報出力を行いません。
-syslog システムログ情報のログ出力を指定します。
on 情報出力を行います。
off 情報出力を行いません。
-WOdomain ドメイン名を指定します。
 

また、以下のプロパティを事前に設定しておく事で、
各オプション-oblog、-messagelog、-syslogと同等の効果が得られます。
 
2.1.3. listserv.bat(Windows版)
名前
listserv.bat - サーバインプリメンテーションのリスト表示
形式
listserv.bat
機能説明
listserv.batは、OAD(Object Activation Daemon : サーバプロセス情報を管理するもの)に登録されている情報を表示します。表示される情報は、OADに登録されているインプリメンテーション名と、それに対応したサーバプロセスの状態です。状態はリストの右側に表示され、サーバが動作中かそうでないかを表します。動作していないとは、インプリメンテーション名は登録されているが、それと一致するサーバプロセスが応答しないことを意味します。

参照するドメインを変更するには「File」→「Domain」を選択して下さい。
注意事項
listserv.batはウィンドウの内容を更新しません。最新の情報を表示するには一度終了して再起動する必要があります。
 
2.2.  名前サーバ関連のコマンド

Windows版には、名前サーバのブラウズを行う以下のコマンドがあります。

また、名前サーバのNDFファイルを変換するツールがあります。

 
2.2.1. orbmanag.bat(Windows版)
名前
orbmanag.bat - 名前サーバのブラウズ(Windows版)
形式
orbmanag.bat
機能説明
orbmanag.batは名前サーバに登録されている情報をディレクトリツリーのように表示します。このコマンドを使うには、名前サーバの動作するホスト名およびポート番号が適切に設定され、かつ、既に名前サーバが起動されている必要があります。

参照する名前サーバを変更するには「参照先(R)」→「ホスト名指定(H)」または「参照先(R)」→「URL指定(U)」を選択してください。「ホスト名指定(H)」ではホスト名を指定することができます。「URL指定(U)」ではURLを指定することができます。

URLで指定するには、名前サーバの動作しているホストでcorbalocサーバも動作している必要があります。

初期設定に戻すには「参照先(R)」→「デフォルト設定(D)」を選択してください。

また、参照するドメインを変更するには「参照先(R)」→「ドメイン指定(M)」を選択して下さい。

終了するにはメニューの「ファイル(F)」→「アプリケーションの終了(X)」を選択するか、クローズボックスをクリックしてください。「表示(V)」→「ステータスバー(S)」を選択するとステータスバーの表示/非表示を切り替えることができます。最新の情報に更新するにはメニューの「表示(V)」→「最新の情報に更新(R)F5」を選択してください。「ヘルプ(H)」→「バージョン情報(orbmanag)(A)...」を選択するとorbmanag.batのバージョンが表示されます。

関連項目
orbcustm(Windows版)
 
2.2.2. convndf
名前
convndf - 名前サーバのNDF変換ツール
形式
convndf [-h hostname] [-p port-number] [-i ndf-file-path] [-o output-path]
機能説明
convndfは名前サーバのNDFファイル内に格納されているIOR情報のホスト名及びポート番号を変換するツールです。

変換元と変換先のファイルパスが同じ場合は、変換元NDFファイルを「namesv.ndf.org」として退避します。


各オプションの意味は以下のとおりです。
-h 変更するホスト名を指定します。
-p 変更するポート番号を指定します。
-i 変換するNDFファイルのパスを指定します。指定されていない場合は、環境変数OrbRootに指定されているパスのNDFファイルを変換対象とみなします。
-o 変換したNDFファイルの出力先パスを指定します。指定されていない場合は、変換対象NDFファイルの格納先を出力先とみなします。
実行例
例1)# convndf -h host01

環境変数OrbRootに指定されているパスに存在するNDFファイルのホスト名を変換します。変換元のNDFファイルは、namesv.ndf.orgとして退避されます。


例2)# convndf -p 9999 -i "C:\WebOTX\ObjectBroker\conf"

オプション「−i」に指定されているパスのNDFファイルのポート番号を変換します。変換元のNDFファイルは、namesv.ndf.orgとして退避されます。


例3)# convndf -h host02 -p 8888 -i "C:\WebOTX\ObjectBroker\conf" -o "C:\temp"

オプション「−i」に指定されているパスのNDFファイルのホスト名とポート番号を変換します。変換したNDFファイルはオプション「−o」に指定されたパスに格納されます。

 
2.3. if関連のコマンド 

インタフェースリポジトリを操作する以下のコマンドがあります。

 
2.3.1. instif
名前
instif - インタフェース定義の登録
形式
instif FILENAME -WOdomain domainname


機能説明

instifは、IDLコンパイラが出力したインタフェース定義情報(*.ifファイル)をリポジトリに登録します。
各オプションの意味は以下のとおりです。
 
FILENAME IDLコンパイラが出力したインタフェース定義情報(*.ifファイル)を指定します。
-WOdomain ドメイン名を指定します。
関連項目
rmif, listif, IDLコンパイラ
 
2.3.2. rmif
名前
rmif - インタフェース定義の削除


形式

rmif FILENAME -WOdomain domainname


機能説明

rmifは、IDLコンパイラが出力したインタフェース定義情報(*.ifファイル)をリポジトリから削除します。
各オプションの意味は以下のとおりです。
 
FILENAME IDLコンパイラが出力したインタフェース定義情報(*.ifファイル)を指定します。
-WOdomain ドメイン名を指定します。


関連項目

instif, listif, IDLコンパイラ
 
2.3.3. listif
名前
listif - インタフェース定義の表示
形式
listif -WOdomain domainname
機能説明
listifは、リポジトリに登録されているインタフェース定義情報を表示します。
各オプションの意味は以下のとおりです。
 
-WOdomain ドメイン名を指定します。
関連項目
instif, rmif, IDLコンパイラ
 
2.4.  oadj関連のコマンド

oadj/oadを操作する以下のコマンドがあります。

 
2.4.1. instimpl
名前
instimpl - インプリメンテーションの登録
形式
instimpl name command-line activation-policy [-host host-name] [ORB-properties]
機能説明
instimplはサーバのインプリメンテーション情報を登録します。 nameにはインプリメンテーション名を指定します。 command-lineにはサーバを起動するときのコマンドラインの文字列を指定します。 activation-policyにはサーバの活性化方針を指定します。 活性化方針にはつぎのものがあります。 -host オプションは、リモートホストにインプリメンテーションを登録するときに指定します。host-nameにはホスト名を指定します。
ORB-propertiesには、必要であればORBプロパティを指定します。

注意: 上記活性化方針の説明でPersistentServerとあるのは、ORBが自動起動を行わないサーバのことを指しています。POAのPersistentObjectポリシーとは独立した概念ですので、混同しないように注意してください。

関連項目
listimpl, rmimpl
 
2.4.2. rmimpl
名前
rmimpl - インプリメンテーションの削除
形式
 rmimpl name [-host host-name] [ORB-properties]
機能説明
rmimplはサーバのインプリメンテーション情報を削除します。 nameにはインプリメンテーション名を指定します。
-host オプションは、リモートホストにインプリメンテーションを登録するときに指定します。host-nameにはホスト名を指定します。
ORB-propertiesには、必要であればORBプロパティを指定します。
関連項目
listimpl, instimpl
 
2.4.3. listimpl
名前
listimpl - インプリメンテーションの一覧
形式
      listimpl [-l] [-host host-name] [ORB-properties]
機能説明
listimplはサーバのインプリメンテーション一覧を表示します。-l オプションを指定すると詳細情報を表示します。
-host オプションは、リモートホストに登録されているインプリメンテーション情報を一覧するときに指定します。host-nameにはホスト名を指定します。
ORB-propertiesには、必要であればORBプロパティを指定します。
関連項目
instimpl, rmimpl
 
2.4.4. listserv(Windows版)
名前
listserv - サーバインプリメンテーションのリスト表示
形式
      listserv
機能説明
listservは、OAD(Object Activation Daemon : サーバプロセス情報を管理するもの)に登録されている情報を表示します。表示される情報は、OADに登録されているインプリメンテーション名と、それに対応したサーバプロセスの状態です。状態はリストの右側に表示され、サーバが動作中かそうでないかを表します。動作していないとは、インプリメンテーション名は登録されているが、それと一致するサーバプロセスが応答しないことを意味します。
注意
listservはウィンドウの内容を更新しません。最新の情報を表示するには一度終了して再起動する必要があります。
 
2.5.  IDLコンパイラ

IDLコンパイラとしては以下のコマンドがあります。

 
2.5.1.  IDLコンパイラ(i2j)
名前
i2j - IDL定義ファイルからJavaソースコードを自動生成
形式
i2j [-i] [-Idir] [-Dname[=val]] [-Uname] [-Rreffile] [-V] [-nocpp] [-tie] [-lstub] [-rppackage_name] [-noskel] [-ddir] [-notstream] [-oldname] [-nofactory] [-vsskel] [-vsinit] [-lcopy] [-noanycopy] FILENAME
機能説明
i2jはFILENAMEで指定されたIDL定義ファイルをもとに、ORBを利用したアプリケーションを作成するために必要なJavaマッピングのJavaソースコードを自動生成します。

生成されるファイル中のクラスの詳細はアプリケーション開発ガイドの「第4部 プログラミング・開発」-「7.2. Object Broker」-「7.2.11. Javaマッピング」を参照してください。

各オプションの意味は以下のとおりです。
 
-i インタフェースリポジトリにインタフェース定義を登録するためのファイル(<FILENAME >.if)を生成します。
-Idir プリプロセッサがインクルードするファイルのディレクトリをdirで指定します。複数指定することも可能です。
-Dname[=val] #define同様にマクロを定義します。valが指定されていないときは値として1が指定されます。
-Uname #undef同様にプリプロセッサで既定義のマクロを無効にします。複数指定することも可能です。
-Rreffile reffileの定義を参照することができます。ただし、reffileのJavaソースコードは生成されません。
-V バージョンを表示します。
-nocpp プリプロセッサによる処理を省略します。
-tie tieクラスを出力します。
-lstub ローカルスタブコードを出力します。実装オブジェクトとそれを呼び出すクライアントが同一プロセス内で動作する時には、このオプションを指定しておくとネットワークを使用しないようになり、高速な呼び出しが可能となります。
-rppackage_name このオプション以降の-Rオプションで指定されるIDL定義が、package_nameで指定されたパッケージに置かれているものとしてコードを生成します。-rpオプションは複数指定することができます。-rpオプションにpackage_nameの指定がない場合にはデフォルトの設定に戻ります。
ex.) i2j -rpfoo.bar -RA.idl -RAA.idl -rp -RB.idl C.idl
上記の例では、A.idlとAA.idlがfoo.barというパッケージにおかれているものとし、B.idlはデフォルトのグローバルなパッケージにあるものとして、C.idlに対するJavaソースコードを生成します。
-noskel サーバのスケルトンコードを生成しません。このオプションは、クライアントプログラムの開発者がサーバ作成用のソースコードを必要としないときに使用します。(サーバプログラムはi2jの生成した全てのソースを使用するため、-nostubというようなオプションはありません)
-ddir javaソースコードの出力先を、dirで指定したディレクトリ配下に変更します。javaソースコード出力先のデフォルトは、i2jを起動したディレクトリです。
-notstream 従来のDII/DSIを使用したスタブ/スケルトンを生成するときに使用します。このオプションが指定されない場合はStreamベースのスタブ/スケルトンを出力します。パラメータレベルのフックを使用する場合は、本オプションを指定してください。
-oldname スケルトンおよびtieクラスの名前を旧形式の名前(POA_<interface名>, POA_<interface名>_tie)で出力します。このオプションが指定されない場合は、CORBA2.3形式の名前(<interface名>POA, <interface名>POATie)で出力します。
-nofactory valuetypeに対するバリューファクトリの実装クラスの雛形ファイルを生成しません。このオプションが指定されない場合、雛形ファイルは<valuetype名>DefaultFactoryという名前で生成されます。ただし、既にこの名前のファイルが存在する場合は上書きしません。
-vsskel スケルトンのinvokeメソッドに展開されている処理を内部メソッドに分割して出力します。1つのインタフェース内に多数のパラメータを持つメソッドを多量に定義すると、スケルトンのinvokeメソッドのコードが膨大になるためJava実行時に例外が発生する場合があります。このような場合、本オプションでinvokeメソッドのコード量を小さくすることにより、Java例外を避けることができます。
-vsinit パラメータ数が255以上となるstruct/exception定義のコンストラクタの出力を抑制します。1つのstruct/exception内に多数のメンバを定義すると、対応するコンストラクタのパラメータ数がJavaの制限を超え、Java実行時に例外が発生する場合があります。このような場合、本オプションでコンストラクタの出力を抑制することにより、Java例外を避けることができます。ただしこの場合は、メンバの初期化は利用者が直接行う必要があります。 本オプション指定時のコンストラクタ出力例は、-vsinit指定時のコンストラクタ出力例を参照してください。
-lcopy オペレーションのパラメータに対するローカルコピー処理を、スタブに生成します。ローカルコピーの対象となるのはinおよびinout属性のパラメータで、かつその型がvaluetype型、any型、およびそれらの型を含む型(struct、union、sequence、array、typedef)の場合です。
-noanycopy 本オプションは-lcopyオプションと合わせて使用するもので、any型およびany型を含む型のパラメータをローカルコピーの対象外にします。ただし、any型とvaluetype型の両方を含むような型については、本オプションを指定してもローカルコピー処理が展開されます。
-addpkgpackagename Java ソースファイルを packagename に指定したパッケージに生成します。このオプションを指定しても、リポジトリIDには影響はありません。
-not_strict_param オペレーションの引数の型名と大文字小文字のみが異なる名前を引数名として利用する場合に指定します。

その他
 

-vsinit指定時のコンストラクタ出力例
 1. structの例

struct定義に対しては、通常以下の2種類のコンストラクタが展開されます。

-vsinitオプションを指定すると、structのメンバが255個以上(注)定義された場合に後者のコンストラクタを展開しません。従って利用者がstructを初期化する場合は、引数なしのコンストラクタでstructのインスタンスを生成して、各メンバに直接値を設定するなどの必要があります。

(注)IDL double型およびlong long型のメンバは、それぞれ2個分にカウントされます。

 2. exceptionの例

exception定義に対しては、通常以下の3種類のコンストラクタが展開されます。

-vsinitオプションを指定すると、以下のようにコンストラクタの抑制を行います。従って、利用者がexceptionを初期化する場合は、引数なしのコンストラクタでexceptionのインスタンスを生成して、各メンバに直接値を設定するなどの必要があります。 (注)IDL double型およびlong long型のメンバは、それぞれ2個分にカウントされます。
 
2.5.2. IDLコンパイラ(i2cc)
名前
i2cc - IDL定義ファイルからC++ソースコードを自動生成
形式
i2cc [-i] [-Idir] [-Dname[=val]] [-Uname] [-Rreffile] [-PC] [-V] [-E] [-EC] [-EI] [-Xdii] [-Xdsi] [-TIE] [-lstub] [-no_env_skel] [-not_strict_param] [-init_member] [-separate_header] [-no_env_operation] [-no_env_cmn_func] [-use_out] [FILENAME]
機能説明

i2ccはFILENAMEで指定されたIDL定義ファイルをもとに、ORBを利用したアプリケーションを作成するために必要なC++マッピングのスタブ/スケルトンを自動生成します。

i2ccはC++コンパイラのプリプロセッサを使います。したがって、あらかじめC++コンパイラをインストールし、パスを設定しておく必要があります。

パスの設定方法はOSにより異なります。具体的な方法については各OSのマニュアルを参照してください。

各オプションの意味は以下のとおりです。

 
-i インタフェースリポジトリにインタフェース定義を登録するためのファイル(.if)を生成します。
-I プリプロセッサがインクルードするファイルのディレクトリをdirで指定します。複数指定することも可能です。
-D #define同様にマクロを定義します。valが指定されていないときは値として1が指定されます。
-U #undef同様にプリプロセッサで既定義のマクロを無効にします。複数指定することも可能です。
-R reffileに定義された定義を参照することができます。このオプションを指定することでreffileで定義されている型を利用したり、インタフェースを継承したりすることができます。
-PC プリコンパイル済みヘッダを利用するときに指定します。
-V i2ccのバージョンを表示します。
-E cmnファイルとimpファイルをVisual C++で作成するDLLに組み込むときに使用します。
-EC cmnファイルのみをVisual C++で作成するDLLに組み込むときに使用します。
-EI impファイルのみをVisual C++で作成するDLLに組み込むときに使用します。
-Xdii DIIを使用したスタブを生成するときに使用します。DIIを使用すると一般に性能は劣化しますので、このオプションは通常使う必要はありません。クライアントでフックを使用する場合は指定してください。
-Xdsi DSIを使用したスケルトンを生成するときに使用します。DSIを使用すると一般に性能は劣化しますので、このオプションは通常使う必要はありません。
-TIE TIEアプローチを使ったサーバを実現するときに使用します。TIEアプローチとは、スケルトンクラスを継承しないでサーバを実装する方法のひとつです。
-lstub ローカルスタブコードを出力します。実装オブジェクトとそれを呼び出すクライアントが同一プロセス内で動作する時には、このオプションを指定しておくとネットワークを使用しないようになり、高速な呼び出しが可能となります。
-no_env_skel CORBA::Environment引数を付加しないシグネチャのスケルトンを利用する場合に指定します。
-not_strict_param オペレーションの引数の型名と大文字小文字のみが異なる名前を引数名として利用する場合に指定します。
-init_member struct、union、およびexceptionのstring型のメンバ、またはstring型のsequenceの各要素を空文字列("")で初期化する場合に指定します。
-separate_header impファイル用のヘッダファイルを別ファイル(*_sk.h)に分離する場合に指定します。
-no_env_operation CORBA::Environment引数を付加しないシグネチャを持つオペレーションのスタブを利用する場合に指定します。
-no_env_cmn_func 各interface型について生成される共通関数(CORBA::release()、CORBA::is_nil()、_duplicate()、_nil())をCORBA::Environment引数を付加しないシグネチャにする場合に指定します。
-use_out オペレーションのout引数にout型を利用する場合に指定します。

なお、i2ccは文字列定数として2048文字までの大きさしか扱えません。

また、IDL定義に次元数が大変多い多次元配列を定義するときは注意が必要です。たとえば、100次元の多次元配列を定義したとき、IDLコンパイラは正常にソースコードを出力しますが、その出力コードをC++コンパイラがコンパイルできるかどうかはC++コンパイラに依存します。