Interstage Application Server アプリケーション作成ガイド (イベントサービス編) |
目次
索引
![]() ![]() |
付録D サンプルプログラム(Solaris(TM) Operating Environment/Linux) | > D.2 実行手順 |
COBOLのサンプルプログラムについて説明します。
(d1)イベントサービス(Pushモデル)のサンプルプログラム
(d2)イベントサービス(Pullモデル)のサンプルプログラム
(d3)イベントサービス(Mixedモデル)のサンプルプログラム
(d4)イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム
Linuxシステムでは、COBOL用のサンプルプログラムは提供されていません。
種別 |
通信モデル |
データ型 |
サブディレクトリ |
イベントサービスのチャネル静的生成 |
Push |
any |
cobol/push |
イベントサービスのCOBOL登録集格納ディレクトリを指定します。
(イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)
COSEVENTCOMM=$ES_HOME/include/COBOL export COSEVENTCOMM
環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
(CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)
CORBA=$OD_HOME/include/COBOL export CORBA
サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。
make
翻訳が成功した場合、push_consumer, push_supplier, libEVENTCOMM-PUSHCONSUMER.soの3つのプログラムが作成されます。
イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。
cd $ES_HOME/bin esstart
静的イベントチャネル「push::sample」を登録します。
esmkchnl -g push -c sample
イベントチャネルグループ「push」を起動します。
esstartchnl -g push
コンシューマ、サプライヤの実行方法を説明します。
コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。
[プロセスモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
[スレッドモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
また、コンシューマ側では(2)で作成したlibEVENTCOMM-PUSHCONSUMER.soの格納場所を追加してください(以下は/tmp/pushに格納した場合)。
LD_LIBRARY_PATH=/tmp/push:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
push_consumerのインプリメンテーション情報を登録します。
register
コンシューマ(push_consumer)を起動します。
push_consumer &
これで、コンシューマがイベントチャネル「push::sample」に接続されます。
サプライヤ(push_supplier)を起動します。
push_supplier
これにより、サプライヤが送信したメッセージをイベントチャネルに接続されたコンシューマに送信することができます。
サンプルプログラムの実行結果を示します。
push_consumer & [1] 23845 push_supplier recv data push-COBOL
種別 |
通信モデル |
データ型 |
サブディレクトリ |
イベントサービスのチャネル静的生成 |
Pull |
any |
cobol/pull |
イベントサービスのCOBOL登録集格納ディレクトリを指定します。
(イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)
COSEVENTCOMM=$ES_HOME/include/COBOL export COSEVENTCOMM
環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
(CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)
CORBA=$OD_HOME/include/COBOL export CORBA
サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。
make
翻訳が成功した場合、pull_consumer, pull_supplier, libCOSEVENTCOMM-PULLSUPPLIER.soの3つのプログラムが作成されます。
イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。
cd $ES_HOME/bin esstart
静的イベントチャネル「pull::sample」を登録します。
esmkchnl -g pull -c sample
イベントチャネルグループ「pull」を起動します。
esstartchnl -g pull
コンシューマ、サプライヤの実行方法を説明します。
コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。
[プロセスモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
[スレッドモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
また、サプライヤ側では(2)で作成したlibCOSEVENTCOMM-PULLSUPPLIER.soの格納場所を追加してください(以下は/tmp/pullに格納した場合)。
LD_LIBRARY_PATH=/tmp/pull:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
pull_supplierのインプリメンテーション情報を登録します。
register
サプライヤ(pull_supplier)を起動します。
pull_supplier &
これで、サプライヤがイベントチャネル「pull::sample」に接続されます。
コンシューマ(pull_consumer)を起動します。
pull_consumer
コンシューマがイベントを要求し、イベントチャネルは接続されているサプライヤからイベントを取り出し、コンシューマに復帰させます。
サンプルプログラムの実行結果を示します。
pull_supplier & [1] 23845 pull_consumer recv data pull-COBOL
種別 |
通信モデル |
データ型 |
サブディレクトリ |
イベントサービスのチャネル静的生成 |
Mixed |
any |
cobol/mix |
イベントサービスのCOBOL登録集格納ディレクトリを指定します。
(イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)
COSEVENTCOMM=$ES_HOME/include/COBOL export COSEVENTCOMM
環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
(CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)
CORBA=$OD_HOME/include/COBOL export CORBA
サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。
make
翻訳が成功した場合、mix_consumer, mix_supplierの2つのプログラムが作成されます。
イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。
cd $ES_HOME/bin esstart
静的イベントチャネル「mix::sample」を登録します。
esmkchnl -g mix -c sample
イベントチャネルグループ「mix」を起動します。
esstartchnl -g mix
コンシューマ、サプライヤの実行方法を説明します。
コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。
[プロセスモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
[スレッドモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
コンシューマ(mix_consumer)を起動します。
mix_consumer &
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤ(mix_supplier)を起動します。
mix_supplier
これで、イベントチャネルにメッセージを蓄積します。
サンプルプログラムの実行結果を示します。
mix_consumer & [1] 23845 mix_supplier recv data mix-COBOL
種別 |
通信モデル |
データ型 |
サブディレクトリ |
イベントサービスのチャネル動的生成 |
Mixed |
any |
cobol/factory |
イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリのセットアップを行ってください。
イベントサービスのCOBOL登録集格納ディレクトリを指定します。
(イベントサービスのCOBOL登録集は、$ES_HOME/include/COBOLに格納されています。デフォルトでは/opt/FJSVes/include/COBOLになります。)
COSEVENTCOMM=$ES_HOME/include/COBOL export COSEVENTCOMM
環境変数CORBAにCORBAサービスのCOBOL登録集格納ディレクトリを指定します。
(CORBAサービスのCOBOL登録集は、$OD_HOME/include/COBOLに格納されています。デフォルトでは/opt/FSUNod/include/COBOLになります。)
CORBA=$OD_HOME/include/COBOL export CORBA
サンプルプログラムを翻訳します。翻訳手順はMakefileで定義されています。
make
翻訳が成功した場合、factory_consumer, factory_supplierの2つのプログラムが作成されます。
イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。
cd $ES_HOME/bin esstart
イベントファクトリを起動します。
esstartfctry
コンシューマ、サプライヤの実行方法を説明します。
コンシューマ、サプライヤを動作させるには以下の環境変数を設定してください。
[プロセスモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib/nt:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
[スレッドモードの場合] LD_LIBRARY_PATH=$OD_HOME/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
コンシューマ(factory_consumer)を起動します。
factory_consumer &
コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。
サプライヤ(factory_supplier)を起動します。
factory_supplier
これで、イベントチャネルにメッセージを蓄積します。
サンプルプログラムの実行結果を示します。
factory_consumer & [1] 23845 factory_supplier recv data factory-COBOL
目次
索引
![]() ![]() |