名前
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 )
(3) public static org.omg.CORBA.ORB init( java.applet.Applet app, java.util.Properties props )
機能説明
(1)ORB(Singleton ORB)のインスタンスを返します。ORBクラスの特定のメソッドだけ呼出すことができます。使用可能なメソッドについては、注意事項を参照してください。
(2)アプリケーションに対する新しいORBインスタンスを生成します。このメソッドはアプリケーションからのみコールされます。
(3)アプレットに対する新しいORBインスタンスを生成します。このメソッドはアプレットからのみコールされます。
プレインストール型Javaライブラリを使用して分散トランザクション連携を行う場合には、プロパティに以下の記述を追加してください。
com.fujitsu.ObjectDirector.CORBA.GlobalTransactionMode=true
プロパティの検索は、以下の順序で行います。
形式(2)/(3)の本メソッドのpropsパラメタ
Java VM起動時に渡すシステムプロパティ
Portable-ORBを使用して分散トランザクション連携を行うことはできません。
パラメタ
(1) なし。
(2)
アプリケーションのmainメソッドに与えられるコマンドラインの引数。null可。
アプリケーション固有のプロパティ。null可。
(3)
アプレット。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に設定してください。
(2)パラメタappへの設定方法
使用するHTMLの<PARAM>タグを使用して設定します。HTMLに設定したORB引数の情報は、アプレット実行時のアプレットクラスをパラメタappに設定することで、ORBに渡されます。
ORBInitRef引数を設定する場合を例にJBKプラグイン使用時の記述例を以下に示します。
<HTML> <HEAD><!--sample.html--> <TITLE>Java sample Applet </TITLE> </HEAD> <BODY> <OBJECT CLASSID="CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67" WIDTH=300 HEIGHT=250> <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> <PARAM NAME="CODE" VALUE="Sample.class"> <PARAM NAME="ORBInitRef" VALUE="NameService=corbaloc::nshost/NameService"> <COMMENT> <EMBED TYPE="application/x-JBK-Plugin" CODE="Sample.class" WIDTH=300 HEIGHT=250 ORBInitRef="NameService=corbaloc::nshost/NameService" > </EMBED> </COMMENT> </OBJECT> </BODY> </HTML>
<EMBED>タグ内で記述する場合は、<PARAM>タグは使用せず"ORB引数名=引数値"の形式で記述します。これらのORB引数情報はアプレットプログラム内で読み込む必要はありません。ORB内で自動的に読込みを行います。
ORB引数の有無に関係なく常にアプレット実行時のアプレットクラスをパラメタappに設定してください。
ORBInitRef引数、およびORBDefaultInitRef引数を複数指定する場合は、' '空白を区切り文字としてVALUE(引数)部に複数指定します(“アプリケーション作成ガイド(CORBAサービス編)”の“ネーミングサービスのイニシャルリファレンスの獲得”参照)。
復帰値
正常終了した場合は、ORBオブジェクトが返されます。
異常終了した場合は、以下の例外が発生します。
org.omg.CORBA.SystemException
システム例外発生時に設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
注意事項
(2)(3)の形式のinit()メソッドは、アプリケーション/アプレットにおいて1回のみ発行してください。
プレインストール型Javaライブラリを使用する場合、パラメタ情報等は、2回目以降の呼び出しでは無視されます。アプレットの場合、同じブラウザで異なるHTMLへ移動すると、最初に発行されたinit()メソッドのみが有効となります。
(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()
使用例
main引数をそのままCORBA::ORB_init()に渡している場合、コマンドラインからの実行時に該当の引数を設定してください。
HTTPトンネル用のパラメタ設定サンプル
String args[] = { "", /* 最初の引数は無視されます */ "-ORB_FJ_HTTP", "yes", "-ORB_FJ_HTTPGW", "http://host.com/od-httpgw", null }; org.omg.CORBA.ORB orb; orb = org.omg.CORBA.ORB.init( args, null );
クライアント固有のイニシャルサービスの設定サンプル
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 );