Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

第2章 CORBAアプリケーション開発時の留意事項> 2.2 コンパイル・リンク

2.2.1 スレッドモードとプロセスモード

 CORBAサービスのサポートするサーバアプリケーションのモードには、プロセスモードとスレッドモードがあります。

スレッドモード

 アプリケーションプロセスがマルチスレッドで動作する形態です。通常は本タイプを選択します。アプリケーションから呼び出す併用製品のライブラリがマルチスレッド対応している場合は、必ず本タイプを選択してください。
 なお、本タイプ選択時でも、「Sun 日本語COBOL」との組み合わせでCOBOLアプリケーションを作成する場合は、実際にマルチスレッド動作するアプリケーションは作成できません。本来のマルチスレッド動作を実現するCOBOLアプリケーションを作成するためには、正式にマルチスレッド対応した「PowerCOBOL97」が前提となります。

 サーバアプリケーションでスレッドモードを使用する際の設定方法を以下に示します。


 インプリメンテーションリポジトリに登録したサーバアプリケーションの定義情報によって設定します。インプリメンテーションリポジトリへの定義情報の登録には、OD_impl_instコマンドを使用します。OD_impl_instコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

 定義情報では、thr_conc_initに2以上の値を設定します。OD_impl_instコマンドで指定する定義ファイルの例を以下に示します。

rep_id            = IDL:test1/intf1:1.0
type              = persistent
proc_conc_max     = 1
thr_conc_init     = 16
thr_conc_maximum  = 32


 サーバアプリケーションをスレッドモード用のライブラリと結合します。スレッドモード用のライブラリは以下のとおりです(インストールパスはデフォルト)。

/opt/FSUNod/lib/libOM.so

/opt/FJSVod/lib/libOM.so

プロセスモード

 アプリケーションプロセスがシングルスレッドで動作する形態です。本タイプは、アプリケーションが呼び出す併用ライブラリがマルチスレッド対応していない場合に限り選択します。通常はスレッドモードを選択してください。

 サーバアプリケーションでプロセスモードを使用する際の設定方法を以下に示します。


 インプリメンテーションリポジトリに登録したサーバアプリケーションの定義情報によって設定します。インプリメンテーションリポジトリへの定義情報の登録には、OD_impl_instコマンドを使用します。OD_impl_instコマンドの詳細については、“リファレンスマニュアル(コマンド編)”を参照してください。

 定義情報では、proc_conc_maxに2以上の値を設定します。また、thr_conc_initとthr_conc_maximumに1を設定します。OD_impl_instコマンドで指定する定義ファイルの例を以下に示します。

rep_id            = IDL:test1/intf1:1.0
type              = persistent
proc_conc_max     = 8
thr_conc_init     = 1
thr_conc_maximum  = 1

 なお、プロセスモードの場合は、サーバアプリケーションの活性化後の動作モードは、modeの設定内容にかかわらずSYNC_ENDになります。


 サーバアプリケーションをプロセスモード用のライブラリと結合します。プロセスモード用のライブラリは以下のとおりです(インストールパスはデフォルト)。

/opt/FSUNod/lib/nt/libOM.so

/opt/FJSVod/lib/nt/libOM.so


bsh系の場合

LD_LIBRARY_PATH = /opt/FSUNod/lib/nt:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

csh系の場合

setenv LD_LIBRARY_PATH /opt/FSUNod/lib/nt:$LD_LIBRARY_PATH


bsh系の場合

LD_LIBRARY_PATH = /opt/FJSVod/lib/nt:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

csh系の場合

setenv LD_LIBRARY_PATH /opt/FJSVod/lib/nt:$LD_LIBRARY_PATH

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006