Interstage Application Server アプリケーション作成ガイド (CORBAサービス編) |
目次
索引
![]() ![]() |
第11章 CORBAアプリケーションの高度な使い方 | > 11.5 スレッドタイプ・プロセスタイプのアプリケーション |
スレッドタイプのアプリケーションを作成する場合には、以下のライブラリとの結合が必要です。
ライブラリ(インストールパスはデフォルト)
libthread.so |
ライブラリ(インストールパスはデフォルト)
libthread.so |
結合されているライブラリの確認はlddコマンドで行います。
C,C++アプリケーションのコンパイル時には、-D_REENTRANT宣言が必要です。詳細は、システムのスレッドプログラミングに関するマニュアルなどを参照してください。
プロセスタイプのクライアントを作成する場合には、以下のライブラリとの結合が必要です。
ライブラリ(インストールパスはデフォルト)
/opt/FSUNod/lib/nt/libOM.so(必須) |
ライブラリ(インストールパスはデフォルト)
/opt/FJSVod/lib/nt/libOM.so(必須) |
作成したアプリケーションを動作させるときには、LD_LIBRARY_PATH=$OD_HOME/lib/ntを設定する必要があります。
結合されているライブラリの確認はlddコマンドで行います。
スレッドタイプのサーバアプリケーションからさらにスレッドを生成する場合、以下のスレッドライブラリを使用します。
スレッドライブラリ |
thr_create |
指定フラグ |
THR_NEW_LWP(新しいスレッドをLWPに固定的に結合します。) |
THR_BOUND(非結合スレッドの並行度を1つ増やします。) |
設定していない場合は、CORBA_ORB_init()が例外UNKNOWNでエラー復帰します。
スレッドライブラリ |
pthread_create |
プロセスタイプのサーバアプリケーションから、さらにプロセスを生成する場合、UNIX系のシステムではfork(システムコール)を使用します。
プロセスタイプのアプリケーションをshared/unshared/server-per-methodタイプ(persistent以外)としてインプリメンテーションリポジトリに登録する方法について説明します。
アプリケーションの種類に合わせて定義ファイルを作成し、OD_impl_instコマンドの-axオプションで登録を行います。
OD_impl_inst -ax 定義ファイル |
以下に定義ファイルの例を示します。下記の設定項目は最低限必要です。他の設定項目は必要に応じて設定します。
rep_id = インプリメンテーションリポジトリID |
rep_id = インプリメンテーションリポジトリID |
目次
索引
![]() ![]() |