名前
org.omg.CORBA.ORB.init
形式
(1) public static org.omg.CORBA.ORB init()
(2) public static org.omg.CORBA.ORB init( java.lang.String[] args, java.util.Properties props )
機能説明
(1)ORB(Singleton ORB)のインスタンスを返します。ORBクラスの特定のメソッドだけ呼び出すことができます。使用可能なメソッドについては、注意事項を参照してください。
(2)アプリケーションに対する新しいORBインスタンスを生成します。このメソッドはアプリケーションからのみコールされます。
GlassFish使用時
IIOPサービスを使用して分散トランザクション連携を行うことはできません。
プレインストール型Javaライブラリ使用時
プレインストール型Javaライブラリを使用して分散トランザクション連携を行う場合には、プロパティに以下の記述を追加してください。
com.fujitsu.ObjectDirector.CORBA.GlobalTransactionMode=true
プロパティの検索は、以下の順序で行います。
形式(2)の本メソッドのpropsパラメタ
Java VM起動時に渡すシステムプロパティ
Portable-ORB使用時
Portable-ORBを使用して分散トランザクション連携を行うことはできません。
パラメタ
(1) なし。
(2)
アプリケーションのmainメソッドに与えられるコマンドラインの引数。null可。
アプリケーション固有のプロパティ。null可。
org.omg.CORBA.ORB.resolve_initial_references()によってクライアント固有のイニシャルサービスのオブジェクトリファレンスを獲得したい場合、“アプリケーション作成ガイド(CORBAサービス編)”の“ネーミングサービスのイニシャルリファレンスの獲得”にしたがってargsに値を設定する必要があります。
(1)パラメタargsへの設定方法
javaコマンド実行時に指定したORB引数をパラメタargsに設定する場合は、main関数に渡される引数リストをパラメタargsへそのまま設定します。
ORBInitRef引数指定時のjavaコマンド実行時例とプログラムの記述例を以下に示します。
> java Sample -ORBInitRef NameService=corbaloc::nshost/NameService public class Sample { public static void main( String[] args ) { org.omg.CORBA.ORB Orb; Orb = org.omg.CORBA.ORB.init(args, null); : : } } |
ORB引数の有無に関係なく常にmain関数に渡される引数リストをパラメタargsに設定してください。
復帰値
正常終了した場合は、ORBオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
org.omg.CORBA.SystemException
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
IIOPサービス(GlassFishのCORBAサービスアプリケーション呼出し)機能を使用している場合は、“GlassFish 設計・構築・運用ガイド“の“メッセージラベルのないメッセージ“を参照してください。
注意事項
(2)の形式のinit()メソッドは、アプリケーションにおいて1回だけ発行してください。
プレインストール型Javaライブラリを使用する場合、パラメタ情報等は、2回目以降の呼出しでは無視されます。
(1)の形式のinit()メソッドが返すORBオブジェクトはSingleton ORBと呼ばれ、使用できるメソッドの種類が限定されています。Singleton ORBから使用できるORBクラスのメソッドを以下に示します。
create_list() create_operation_list() create_named_value() create_exception_list() create_context_list() create_environment() create_any() get_primitive_tc() create_array_tc() create_enum_tc() create_enum_tc() create_exception_tc() create_sequence_tc() create_string_tc() create_struct_tc() create_union_tc() create_wstring_tc()
使用例
main引数をそのままCORBA::ORB_init()に渡している場合、コマンドラインからの実行時に該当の引数を設定してください。
クライアント固有のイニシャルサービスの設定サンプル
String args[] = { "", /* 最初の引数は無視されます */ "-ORBInitRef", "NameService=corbaloc::nshost:8002/NameService", "-ORBDefaultInitRef", "corbaloc::inithost:8002", null }; org.omg.CORBA.ORB orb; orb = org.omg.CORBA.ORB.init( args, null ); |