5.6 環境変数CBLJ2CBSTAYLIB
(1) 機能
COBOLアクセス用Beanから呼び出すCOBOLプログラムのライブラリが,呼び出し後にアンロードされる場合,環境変数CBLJ2CBSTAYLIBを設定すると,アンロードしないで常駐化できます。
COBOLアクセス用Beanを生成する際に指定したライブラリ名称を環境変数CBLJ2CBSTAYLIBに指定しておくと,最初にライブラリを呼び出したときに常駐化されます。これ以降,常駐化されたライブラリを呼び出すようになります。
COBOLアクセス用Beanを生成する際に指定したライブラリ名称が環境変数CBLJ2CBSTAYLIBに指定されていない場合,AIXのCosminexus実行環境では,呼び出したライブラリはアンロードされます。Windows,またはLinuxのCosminexus実行環境では,呼び出したライブラリはアンロードされません。
(2) 指定形式
-
Windowsの場合
SET CBLJ2CBSTAYLIB=libname[:libname]・・・
指定例
SET CBLJ2CBSTAYLIB=sample1:sample2
-
UNIXの場合
環境変数CBLJ2CBSTAYLIBは引用符(")で囲んで指定します。
CBLJ2CBSTAYLIB="libname[:libname]・・・" export CBLJ2CBSTAYLIB
指定例(AIXの場合)
CBLJ2CBSTAYLIB="/home/lib/libsample1.a:/home/lib/libsample2.a" export CBLJ2CBSTAYLIB
(3) 注意事項
-
Windowsの場合,dynamicpathオプションにyesを指定してください。 dynamicpathオプション未指定時またはno指定時には,環境変数CBLJ2CBSTAYLIBで指定したライブラリは常駐化対象になりません。
-
環境変数CBLJ2CBSTAYLIBに指定されたCOBOLプログラムのライブラリは,Cosminexus Application Serverが終了するまで常駐します。使用頻度の低いライブラリを指定すると,使用可能なメモリ量が少なくなりますので,使用頻度の高いライブラリを常駐化するようにしてください。
-
UNIXの場合,atexitシステム関数で,終了時処理を行う関数を登録したCOBOLプログラムのライブラリを呼び出して使用すると,Cosminexus Application Serverの停止時にシグナルSIGILL(無効な命令)エラーが発生し,異常終了することがあります。これは,atexitシステム関数で登録した関数が,COBOLプログラムのライブラリのアンロードと同時にアンロードされるために発生するものです。このような現象が発生する場合は,ライブラリを常駐化すると,この問題を発生しないようにすることができます。Windowsの場合には,該当しません。
-
UNIXの場合,dynamicpathオプションを指定して,環境変数CBLJ2CBSTAYLIBで呼び出すCOBOL共用ライブラリを常駐化させたいときは,ディレクトリ名や拡張子を付けないで,ライブラリ名だけを指定してください。
指定例
CBLJ2CBSTAYLIB="libsample1:libsample2" export CBLJ2CBSTAYLIB