ページの先頭行へ戻る
Interstage Application Server V12.0.0 Java EE 7 設計・構築・運用ガイド
FUJITSU Software

13.3.12 ORB_IIOP

J2EE機能名/定義名

J2EE定義方法

Java EE 7機能名/定義名

Java EE 7定義方法

説明

ポート番号

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定 > ポート番号

リスナーポート

asadmin create-system-properties --target <サーバーインスタンス名>
IIOP_LISTENER_PORT=<ポート番号>


asadminコマンドで操作できる定義項目
${clusterName_instanceName_configName}.iiop-service.iiop-listener.${iiop-listener-id}.port

J2EE機能では、CORBAサービスが使用する共通のポート番号を指定します。
Java EE 7機能では、クラスタがIIOP接続に使用するポート番号を指定します。ただし、複数のインスタンスが存在する場合は、ポート番号はインスタンスごとに異なっている必要があります。

クライアントからの最大接続数

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定

総接続数

Interstage Java EE 7管理コンソールの
設定 > <クラスタ名>-config > ORB > 総接続数

asadminコマンドで操作できる定義項目
${clusterName_instanceName_configName}.iiop-service.orb.max-connections

クライアントからの最大接続数を指定します。

クライアントからの最大リクエスト数

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定

スレッドプール

Interstage Java EE 7管理コンソールの
設定 > <クラスタ名>-config > スレッドプール > <スレッドプールID> > 最大プールサイズ

asadminコマンドで操作できる定義項目
${clusterName_instanceName_configName}.thread-pools.thread-pool.${thread-pool-name}.max-thread-pool-size

J2EE機能では、CORBAサービスが受付可能なリクエストの最大数を指定します。
Java EE 7機能の最大プールサイズは、上記とは意味が異なりますが、処理可能なリクエスト数を決定するパラメタとなります。

クライアントタイムアウト時間

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定

サーバメソッド復帰時間

Java VMオプションに設定します。
(アプリケーションクライアントコンテナの場合は、VMARGS環境変数に以下を設定します。)
-Dcom.sun.corba.ee.transport.ORBWaitForResponseTimeout=設定値

リクエスト送信から返信までの待機時間を指定します。

IPバージョン

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定

なし

運用するIPバージョンを指定します。
Java EE 7ではIPv6/IPv4デュアルスタック環境でサポートしています。ただし、IPバージョンの設定はありません

サーバ側無通信監視時間

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定

なし

Java EE 7機能では、サーバ側無通信監視時間はサポートしていません。

クライアント側無通信監視時間

Interstage管理コンソールのシステム > 環境設定 > CORBAサービス詳細設定

クライアント無通信監視時間

Java VMオプションに設定します(アプリケーションクライアントコンテナの場合は、VMARGS環境変数に以下を設定します)。

-Dcom.fujitsu.interstage.javaee.corba.ee.transport.ORBClientIdleConnectTimeouts=設定値

CORBAクライアントが無通信状態であることを監視する時間を指定します。

J2EE機能のCORBAでは、無通信時間が指定時間に到達した時点でコネクションが切断され、次回リクエスト送信時に再接続されます。

一方、Java EE 7機能では、無通信時間が指定時間に到達した時点ではなく、次回リクエスト送信時に、切断および再接続されます。

NamingServiceのリモート参照の獲得

アプリケーションにおいて、以下の方法で獲得します。
1. ローカル環境から獲得
ORB#resolve_initial_references(String id)に"NameService"を指定します。メソッドはネーミングサービスのリモート参照を返却します。
2. ファイル指定の外部サーバから獲得
inithost(Windows)/initial_hosts(Solaris/Linux)ファイルに、ホスト名,ポート番号が記載(複数可)されている場合、(1)のメソッドは記述されたサーバに順次問い合わせを行います。
3. メソッドで指定したサーバから獲得
ORB#resolve_initial_references_remote(String id, String[] m) のidに"NameService"を指定します。
mには、"iiop://<address>[:<port>]" の形式でホスト名を指定します(複数可)。メソッドはネーミングサービスのリモート参照を返却します。
4. ORBInitRefオプションにINS形式で指定
アプリケーションのオプションとして-ORBInitRefに以下の例のようにINS形式の文字列を指定します。
(例) -ORBInitRef NameService=corbaloc::<ホスト名>:<ポート番号>/NameService
アプリケーションでは、受け取った"-ORBInitRef","NameService=..."の文字列をORB#init(String[] argv, java.util.Properties props)のargvに設定します。この結果(1)のメソッドは、ネーミングサービスのリモート参照を返却します。
5. INS形式の文字列から、リモート参照を生成
ORB#string_to_object(String s)のsに以下の例のようにINS形式の文字列を指定します。
(例) "corbaloc::<ホスト名>:<ポート番号>/NameService"
メソッドはネーミングサービスのリモート参照を返却します。

NamingServiceのリモート参照の獲得

NamingServiceのリモート参照は、INSの形式で獲得します。

1. ORBInitRefオプションにINS形式で指定

アプリケーションのオプションとして-ORBInitRefに以下の例のようにINS形式の文字列を指定します。

(例) -ORBInitRef NameService=corbaloc:iiop:1.0@<ホスト名>:<ポート番号>/NameService

アプリケーションでは、受け取った"-ORBInitRef","NameService=..."の文字列をORB#init(String[] argv, java.util.Properties props)のargvに設定します。

ORB#resolve_initial_references(String id)に"NameService"を指定します。

この結果、INS形式で指定したネーミングサービスのリモート参照が返却されます。

2. INS形式の文字列から、リモート参照を生成

ORB#string_to_object(String s)のsに以下の例のようにINS形式の文字列を指定します。

(例) "corbaloc:iiop:1.0@<ホスト名>:<ポート番号>/NameService"

このメソッドはネーミングサービスのリモート参照を返却します。

アプリケーションでNamingServiceを使用する際は、NamingServiceのリモート参照を獲得する必要があります。

Java EE 7機能でCORBAクライアントアプリケーションを動作させる場合は、J2EE機能のNamingServiceにアクセスします。このときのNamingServiceのリモート参照は、INS形式で指定します。

ORBベンダークラス名

[プロパティ名]
org.omg.CORBA.ORBClass
[値]
com.fujitsu.ObjectDirector.CORBA.ORB

[プロパティ名]
org.omg.CORBA.ORBSingletonClass
[値]
com.fujitsu.ObjectDirector.CORBA.SingletonORB

ORBベンダークラス名

[プロパティ名]
org.omg.CORBA.ORBClass
[値]
com.sun.corba.ee.impl.orb.ORBImpl

[プロパティ名]
org.omg.CORBA.ORBSingletonClass
[値]
com.sun.corba.ee.impl.orb.ORBSingleton

org.omg.CORBA.ORBクラスとして動作するベンダークラスは、VMオプション、ORB#init()の引数、orb.propertiesファイルのいずれかで指定します。

スタンドアロンクライアントなど、指定が必要な場合は、J2EE/Java EEそれぞれのベンダークラス名を指定します。

CORBAランタイム

プレインストール型Javaライブラリの場合

<Interstageインストールフォルダ>\ODWIN\ETC\CLASS\ODjava4.jar


/opt/FSUNod/etc/class/ODjava4.jar


/opt/FJSVod/etc/class/ODjava4.jar

CORBAランタイム

<Interstageインストールフォルダ>\F3FMisje7\glassfish\lib\appserv-rt.jar

/opt/FJSVisje7/glassfish/lib/appserv-rt.jar

JavaCORBAアプリケーションは、実行時、ORBベンダー提供クラスを参照します。

スタンドアロンクライアントなど必要な場合は、CLASSPATH環境変数にベンダークラスを含むjarファイルを指定します。

Java EE 7機能を使用する場合、サーブレットやEJBアプリケーション内で、リクエストごとに引数付きのORB.init()メソッドを発行すると、リソースを大量に消費します。

このため、J2EEからJava EE 7に移行する際は、リソースが不足しないように、リクエストごとではなくアプリケーション内で1回だけ引数付きのORB.init()メソッドを発行するように変更してください。

コード変換機能

自動的にコード系をUNICODEと判断します。

コード変換機能

自動的にコード系をUNICODEと判断します。

J2EE機能のCORBAでは、コード変換機能として、当社の標準コード変換機能であるiconvを使用します。

一方、Java EE 7機能のCORBAでは、Java VMのコード変換クラスを使用します。

この違いにより、Java EE 7機能のCORBAでは、EUC(U90)へのコード変換が利用できません。また、CORBAサーバアプリケーションのコード系(locale)が、EUCまたはSJISの場合に、コード変換結果に以下の非互換があります。

  • Java EE 7機能では、コード系がEUCの場合、JISX 0201、0208、0212の範囲の文字だけ扱えます。丸付き数字などの特殊文字や外字(ユーザ定義文字)は使用できません。

  • Java EE 7機能では、コード系がSJISの場合、Windows-31J独自追加文字(NEC特殊文字/IBM拡張文字)や外字(ユーザ定義文字)は使用できません。

  • J2EE機能とJava EE 7機能では、Unicodeに変換する場合に変換結果が異なる文字が存在します(下表)。

■J2EE機能とJava EE 7機能でUnicode変換の結果が異なる文字

OS依存文字

Unicodeへの変換

J2EE

Java EE

EUC

0xa1bd

U+2015

U+2014

SJIS

0x815c

EUC

0xa1c1

U+ff5e

U+301c

SJIS

0x8160

EUC

0xa1c2

U+2225

U+2016

SJIS

0x8161

EUC

0xa1dd

U+ff0d

U+2212

SJIS

0x817c

EUC

0xa1f1

U+ffe0

U+00a2

SJIS

0x8191

EUC

0xa1f2

U+ffe1

U+00a3

SJIS

0x8192

EUC

0xa2cc

U+ffe2

U+00ac

SJIS

0x81ca