ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(イベントサービス編)

D.2.3 Java言語アプリケーション

  Java言語のサンプルプログラムについて説明します。

サンプルプログラムを使用する前に

1. 環境変数CLASSPATHの設定

  サンプルプログラムを翻訳・実行する前に、環境変数CLASSPATHにCORBAサービスおよびイベントサービスが提供するクラスライブラリを設定します。環境変数を設定するライブラリについては、“7.1.1 クライアントアプリケーションの作成方法”を参照してください。

  JDK5.0およびノーティフィケーションサービスの場合

CLASSPATH=$CLASSPATH:/opt/FSUNod/etc/class/ODjava4.jar:/opt/FJSVes/lib/esnotifyjava4.jar
export CLASSPATH

CLASSPATH=$CLASSPATH:/opt/FJSVod/etc/class/ODjava4.jar:/opt/FJSVes/lib/esnotifyjava4.jar
export CLASSPATH

  グローバルトランザクションのサンプルプログラム(16)(17)を使用する場合は、さらに、環境変数CLASSPATHにデータベース連携サービスが提供するクラスライブラリを設定します。

  JDK5.0およびノーティフィケーションサービスの場合

CLASSPATH=$CLASSPATH:/opt/FSUNod/etc/class/ODjava4.jar:/opt/FJSVes/lib/esnotifyjava4.jar:$OTS_HOME/etc/class/otscurrentsv_java2.jar
export CLASSPATH

CLASSPATH=$CLASSPATH:/opt/FJSVod/etc/class/ODjava4.jar:/opt/FJSVes/lib/esnotifyjava4.jar:$OTS_HOME/etc/class/otscurrentsv_java2.jar
export CLASSPATH

2. 環境変数LD_LIBRARY_PATHの設定

  サンプルプログラムを実行する前に、環境変数LD_LIBRARY_PATHにCORBAサービスのライブラリの格納ディレクトリを設定します。


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

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

3. 環境変数OTS_HOMEの設定

  グローバルトランザクションのサンプルプログラム(16)(17)を使用する場合は、サンプルプログラムを翻訳・実行する前に、環境変数OTS_HOMEにデータベース連携サービスのインストールディレクトリを設定します。


OTS_HOME=/opt/FSUNots
export OTS_HOME

OTS_HOME=/opt/FJSVots
export OTS_HOME

(1) イベントサービス(Pushモデル)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

イベントサービスのチャネル静的生成

Push

any

java/push


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、push_consumer.class、push_supplier.class、UserServant.classの3つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントチャネルの登録

  静的イベントチャネル「push::sample」を登録します。

esmkchnl -g push -c sample

イベントチャネルの起動

  イベントチャネルグループ「push」を起動します。

esstartchnl -g push

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマのインプリメンテーション情報の登録

  push_consumerのインプリメンテーション情報を登録します。

register

コンシューマの起動

  コンシューマ(push_consumer)を起動します。

consumer &

  これで、コンシューマがイベントチャネル「push::sample」に接続されます。


サプライヤの起動

  サプライヤ(push_supplier)を起動します。

supplier

  これにより、サプライヤが送信したメッセージをイベントチャネルに接続されたコンシューマに送信できます。


3. 実行結果

  サンプルプログラムの実行結果を示します。

consumer &
  [1] 23845
supplier
  CosEventComm.PushConsumer.push
  push message : Push-Java 

(2) イベントサービス(Pullモデル)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

イベントサービスのチャネル静的生成

Pull

any

java/pull


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、pull_consumer.class、pull_supplier.class、UserServant.classの3つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントチャネルの登録

  静的イベントチャネル「pull::sample」を登録します。

esmkchnl -g pull -c sample

イベントチャネルの起動

  イベントチャネルグループ「pull」を起動します。

esstartchnl -g pull

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


サプライヤのインプリメンテーション情報の登録

  pull_supplierのインプリメンテーション情報を登録します。

register

サプライヤの起動

  サプライヤ(pull_supplier)を起動します。

supplier &

  これで、サプライヤがイベントチャネル「pull::sample」に接続されます。


コンシューマの起動

  コンシューマ(pull_consumer)を起動します。

consumer

  コンシューマがイベントを要求し、イベントチャネルは接続されているサプライヤからイベントを取り出し、コンシューマに復帰させます。


3. 実行結果

  サンプルプログラムの実行結果を示します。

supplier &
  [1] 23845
consumer
  pull message : Pull-Java

(3) イベントサービス(Mixedモデル)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

イベントサービスのチャネル静的生成

Mixed

any

java/mix


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。

consumer &
  [1] 23845
supplier
  pull message : Mixed-Java 

(4) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

イベントサービスのチャネル動的生成

Mixed

any

java/factory

  イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリをセットアップしてください。


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、factory_consumer.class、factory_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントファクトリの起動

  イベントファクトリを起動していない場合は、イベントファクトリを起動します。

esstartfctry

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(factory_consumer)を起動します。

consumer  
  1.create, 2.create_channel, 3.get_event_channel
  select(1-3):

  1.を選択すると、createメソッドによりイベントチャネルを以下のイベントチャネル名で生成します。

select(1-3):1
input EventChannel name:

  生成するイベントチャネル名(例:“ch1”)を指定します。

input EventChannel name:ch1
create EventChannel(ch1)

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(factory_supplier)を起動します。

supplier
  1.create, 2.create_channel, 3.get_event_channel
  select(1-3):

  1.を選択し、コンシューマが接続されているイベントチャネル名“ch1”を指定します。サプライヤがイベントチャネルに接続し、データを送信します。このとき、事前に動的イベントチャネルが生成されていれば、3.を選択して既存のチャネルを使用できます。

select(1-3):1 (または、3)
input EventChannel name:ch1
create EventChannel(ch1)

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。コンシューマ側に実行結果が出力されます。

consumer
  pull message : Factory-MIX-Java 

(5) イベントサービス(Mixedモデル)のEventFactoryを使用したサンプルプログラム(複数IP対応)

種別

通信モデル

データ型

サブディレクトリ

イベントサービスのチャネル動的生成(複数IP対応)

Mixed

any

java/factory

  イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリをセットアップしてください。


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、factory_consumer.class、factory_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントファクトリの起動

  イベントファクトリを起動していない場合は、イベントファクトリを起動します。

esstartfctry

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(factory_consumer)を起動します。

consumer  
  1.create, 2.create_channel, 3.get_event_channel
  select(1-3):

  2.を選択すると、create_channelメソッドによりイベントチャネルを以下のイベントチャネル名で生成します。

select(1-3):2
input EventChannel name:

  生成するイベントチャネル名(例:“ch1”)を指定します。

input EventChannel name:ch1
Do you use multi IP function?(y/n)

  複数IPアドレスを使用するため、“y”を選択します。

Do you use multi IP function?(y/n)y
Please input host name or IP address?

  複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:“berk”)またはIPアドレスを指定します。

Please input host name or IP address?berk
Please input port number?

  複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:“8002”)を指定してください。

Please input port number?8002
create EventChannel(ch1) Object

  コンシューマは生成したイベントチャネルに接続し、イベントを要求します。


サプライヤの起動

  サプライヤ(factory_supplier)を起動します。

supplier
  1.create, 2.create_channel, 3.get_event_channel
  select(1-3):

  1.を選択し、コンシューマが接続されているイベントチャネル名“ch1”を指定します。サプライヤがイベントチャネルに接続し、データを送信します。このとき、事前に動的イベントチャネルが生成されていれば、3.を選択して既存のチャネルを使用できます。

select(1-3):1 (または、3)
input EventChannel name:ch1
get EventChannel Object(ch1)

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。コンシューマ側に実行結果が出力されます。

consumer
  pull message : Factory-MIX-Java 

(6) ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービスのチャネル静的生成

Mixed

any

notify/java/mix/any


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample -notify

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。

consumer &
  [1] 23845
supplier
  pull message : Mixed-Java

(7) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービスのチャネル静的生成

Mixed

StructuredEvent

notify/java/mix/structured


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample -notify

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。

consumer &
  [1] 23845
supplier
  pull message : StructuredEvent Mixed-Java

(8) ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービスのチャネル動的生成

Mixed

any

notify/java/factory/any

  イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリをセットアップしてください。


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、factory_consumer.class、factory_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントファクトリの起動

  イベントファクトリを起動していない場合は、イベントファクトリを起動します。

esstartfctry

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(factory_consumer)を起動します。

consumer
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  1.を選択し、create_channelメソッドによりイベントチャネルを生成します。
  事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。

select(1-3):1
Do you use multi IP function?(y/n)

  複数IPアドレスを使用しないため、“n”を選択します。

Do you use multi IP function?(y/n)n
create EventChannelID = 3
connecting...

サプライヤの起動

  別のプロセスからサプライヤ(factory_supplier)を起動します。

supplier
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。

select(1-3):2
--- EventChannelID list(ALL=3) ---
       1,       2,       3
1.create_channel, 2.get_all_channels, 3.get_event_channel
select(1-3):

  次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID“3”を指定します。サプライヤがイベントチャネルに接続し、データを送信します。

input EventChannelID:3
get EventChannel Object
connecting...

3. 実行結果

  サンプルプログラムの実行結果を示します。コンシューマ側に実行結果が出力されます。

consumer
  connecting...
  pull message : Factory-Mixed-Java

(9) ノーティフィケーションサービス(Mixedモデルany型データ)のEventFactoryを使用したサンプルプログラム(複数IP対応)

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービスのチャネル動的生成(複数IP対応)

Mixed

any

notify/java/factory/any

  イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリをセットアップしてください。


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、factory_consumer.class、factory_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントファクトリの起動

  イベントファクトリを起動していない場合は、イベントファクトリを起動します。

esstartfctry

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(factory_consumer)を起動します。

consumer
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  1.を選択し、create_channelメソッドによりイベントチャネルを生成します。
  事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。

select(1-3):1
Do you use multi IP function?(y/n)

  複数IPアドレスを使用するため、“y”を選択します。

Do you use multi IP function?(y/n)y
Please input host name or IP address?

  複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:“berk”)またはIPアドレスを指定します。

Please input host name or IP address?berk
Please input port number?

  複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:“8002”)を指定してください。

Please input port number?8002

  生成したイベントチャネルの識別IDが表示され、コンシューマはそのイベントチャネルに接続し、イベントを要求します。
  事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。

create EventChannelID = 3
connecting...

サプライヤの起動

  別のプロセスからサプライヤ(factory_supplier)を起動します。

supplier
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。

select(1-3):2
--- EventChannelID list(ALL=3) ---
       1,       2,       3
1.create_channel, 2.get_all_channels, 3.get_event_channel
select(1-3):

  次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID“3”を指定します。サプライヤがイベントチャネルに接続し、データを送信します。

input EventChannelID:3
get EventChannel Object
connecting...

3. 実行結果

  サンプルプログラムの実行結果を示します。コンシューマ側に実行結果が出力されます。

consumer
  connecting...
  pull message : Factory-Mixed-Java

(10) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)EventFactoryを使用したサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービスのチャネル動的生成

Mixed

StructuredEvent

notify/java/factory/structured

  イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリをセットアップしてください。


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、factory_consumer.class、factory_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントファクトリの起動

  イベントファクトリを起動していない場合は、イベントファクトリを起動します。

esstartfctry

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(factory_consumer)を起動します。

consumer
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  1.を選択し、create_channelメソッドによりイベントチャネルを生成します。
  事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。

select(1-3):1
Do you use multi IP function?(y/n)

  複数IPアドレスを使用しないため、“n”を選択します。

Do you use multi IP function?(y/n)n
create EventChannelID = 3
connecting...

サプライヤの起動

  サプライヤ(factory_supplier)を起動します。

supplier
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。

select(1-3):2
--- EventChannelID list(ALL=3) ---
       1,       2,       3
1.create_channel, 2.get_all_channels, 3.get_event_channel
select(1-3):

  次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID“3”を指定します。サプライヤがイベントチャネルに接続し、データを送信します。

input EventChannelID:3
get EventChannel Object
connecting...

3. 実行結果

  サンプルプログラムの実行結果を示します。コンシューマ側に実行結果が出力されます。

consumer
  connecting...
  pull message : StructuredEvent Factory-Mixed-Java

(11) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)EventFactoryを使用したサンプルプログラム(複数IP対応)

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービスのチャネル動的生成(複数IP対応)

Mixed

StructuredEvent

notify/java/factory/structured

  イベントファクトリがセットアップされていない場合は、イベントサービスが未起動の状態で、essetupコマンド(essetup -f)によりイベントファクトリをセットアップしてください。


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、factory_consumer.class、factory_supplier.classの2つのクラスが作成されます。


イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

cd /opt/FJSVes/bin
esstart

イベントファクトリの起動

  イベントファクトリを起動していない場合は、イベントファクトリを起動します。

esstartfctry

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(factory_consumer)を起動します。

consumer
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  1.を選択し、create_channelメソッドによりイベントチャネルを生成します。
  事前に動的イベントチャネルが2つ生成されている場合の例を以下に示します。

select(1-3):1
Do you use multi IP function?(y/n)

  複数IPアドレスを使用するため、“y”を選択します。

Do you use multi IP function?(y/n)y
Please input host name or IP address?

  複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ホスト名(例:“berk”)またはIPアドレスを指定します。

Please input host name or IP address?berk
Please input port number?

  複数IPアドレスを持つシステムで、イベントチャネルの通信経路を指定する場合に、ポート番号を指定します。ポート番号には、CORBAサービスのポート番号として指定されている値(例:“8002”)を指定してください。

Please input port number?8002

  生成したイベントチャネルの識別IDが表示され、コンシューマはそのイベントチャネルに接続し、イベントを要求します。

create EventChannelID = 3
connecting...

サプライヤの起動

  サプライヤ(factory_supplier)を起動します。

supplier
  1.create_channel, 2.get_all_channels, 3.get_event_channel
  select(1-3):

  2.を選択し、get_all_channelsメソッドにより現在動的生成されているイベントチャネルの一覧を取得します。

select(1-3):2
--- EventChannelID list(ALL=3) ---
       1,       2,       3
1.create_channel, 2.get_all_channels, 3.get_event_channel
select(1-3):

  次に、3.を選択し、コンシューマが接続されているイベントチャネルの識別ID“3”を指定します。サプライヤがイベントチャネルに接続し、データを送信します。

input EventChannelID:3
get EventChannel Object
connecting...

3. 実行結果

  サンプルプログラムの実行結果を示します。コンシューマ側に実行結果が出力されます。

consumer
  connecting...
  pull message : StructuredEvent Factory-Mixed-Java

(12) 接続情報取得(情報取得)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

接続情報取得(情報取得)

java/util/proxy


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、es_util_getproxy.classの1つのクラスが作成されます。


2. サンプルプログラムの実行

  接続情報取得の実行方法を説明します。
  静的イベントチャネル「mix::sample」の場合の例で説明します。
  静的イベントチャネル「mix::sample」に接続し、接続情報を回収せずに異常終了したコンシューマおよびサプライヤが存在する場合、および静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報を取得したい場合に起動します。静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの実行方法は、“(6) ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム”および“(7) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム”を参照してください。


接続情報取得の起動

  es_util_getproxyを起動します。

util_getproxy

  静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報を取得します。


3. 実行結果

  現在、静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報(IPアドレス、イベントチャネルに接続した時間およびproxy種別)が表示されます。

注意

  IPv6環境において本サンプルプログラムを実行した場合、接続情報のIPアドレスには0.0.0.0が表示されます。IPv6環境で運用する設定については、“チューニングガイド”の“Interstageのチューニング”-“IPv6環境での運用について”、および“CORBAサービスの動作環境ファイル”-“config”(IP-versionパラメタ)を参照してください。


(13) 接続情報取得(個数取得)のサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

接続情報取得(個数取得)

java/util/count


1. サンプルプログラムを翻訳します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、es_util_count.classの1つのクラスが作成されます。


2. サンプルプログラムの実行

  接続情報取得の実行方法を説明します。
  静的イベントチャネル「mix::sample」の場合の例で説明します。
  静的イベントチャネル「mix::sample」に接続し、接続情報を回収せずに異常終了したコンシューマおよびサプライヤが存在する場合、および静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの接続情報を取得したい場合に起動します。静的イベントチャネル「mix::sample」に接続しているコンシューマおよびサプライヤの実行方法は、“(6) ノーティフィケーションサービス(Mixedモデルany型データ)のサンプルプログラム”および“(7) ノーティフィケーションサービス(MixedモデルStructuredEvent型データ)のサンプルプログラム”を参照してください。


接続情報取得の起動

  es_util_countを起動します。

util_count

  静的イベントチャネル「mix::sample」に接続しているコンシューマ数、サプライヤ数およびイベントチャネルにキューイングされているイベントデータ数を取得します。


3. 実行結果

  現在、静的イベントチャネル「mix::sample」に接続しているコンシューマ数、サプライヤ数およびイベントチャネルにキューイングされているイベントデータ数が表示されます。


(14) ノーティフィケーションサービス(MultiCastモデル)のローカルトランザクションのサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービス(MultiCastモデル)のローカルトランザクション

Mixed

StructuredEvent

notify/java/localtran


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


ユニットの生成

  標準ユニットを生成します。ユニット定義ファイルは、/opt/FJSVes/etc/def配下の雛型(esunit01.def)を参考にしてください。

cd /opt/FJSVes/bin
esmkunit -uf <ユニット定義ファイル>

イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample -notify -persist all -tran

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。
  コンシューマ側のコマンドプロンプトに実行結果が出力されます。

consumer
  pull message : StructuredEvent Mixed-Java

(15) ノーティフィケーションサービス(Point-To-Pointモデル)のローカルトランザクションのサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービス(Point-To-Pointモデル)のローカルトランザクション

Mixed

StructuredEvent

notify/java/ptp/localtran


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


ユニットの生成

  標準ユニットを生成します。ユニット定義ファイルは、/opt/FJSVes/etc/def配下の雛型(esunit01.def)を参考にしてください。

cd /opt/FJSVes/bin
esmkunit -uf <ユニット定義ファイル>

イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample -notify -persist all -tran -ptp

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。
  イベントチャネルは、蓄積されたデータをコンシューマに復帰させます。


3. 実行結果

  サンプルプログラムの実行結果を示します。
  コンシューマ側のコマンドプロンプトに実行結果が出力されます。

consumer
  pull message : StructuredEvent Mixed-Java

(16) ノーティフィケーションサービス(MultiCastモデル)のグローバルトランザクションのサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービス(MultiCastモデル)のグローバルトランザクション

Mixed

StructuredEvent

notify/java/ots


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


ユニットの生成

  拡張ユニットを生成します。ユニット定義ファイルは、/opt/FJSVes/etc/def配下の雛型(esunit01.def)を参考にしてください。

cd /opt/FJSVes/bin
esmkunit -uf <ユニット定義ファイル>

イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample -notify -persist all -ots -unit <拡張ユニット名>

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。
  なお、本サンプルプログラムを実行する場合は、データベース連携サービスが必要です。Interstageをtype2で初期化してください。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。


3. 実行結果

  サンプルプログラムの実行結果を示します。
  コンシューマ側のコマンドプロンプトに実行結果が出力されます。

consumer
  pull message : StructuredEvent Mixed-Java

(17) ノーティフィケーションサービス(Point-To-Pointモデル)のグローバルトランザクションのサンプルプログラム

種別

通信モデル

データ型

サブディレクトリ

ノーティフィケーションサービス(Point-To-Pointモデル)のグローバルトランザクション

Mixed

StructuredEvent

notify/java/ptp/ots


1. サンプルプログラムを翻訳し、ネーミングサービスにイベントチャネルを登録します。

サンプルソースの翻訳

  サンプルプログラムを翻訳します。

make

  翻訳が成功した場合、mix_consumer.class、mix_supplier.classの2つのクラスが作成されます。


ユニットの生成

  拡張ユニットを生成します。ユニット定義ファイルは、/opt/FJSVes/etc/def配下の雛型(esunit01.def)を参考にしてください。

cd /opt/FJSVes/bin
esmkunit -uf <ユニット定義ファイル>

イベントサービスの起動

  イベントサービスを起動していない場合は、以下のコマンドでイベントサービスを起動します。

esstart

イベントチャネルの登録

  静的イベントチャネル「mix::sample」を登録します。

esmkchnl -g mix -c sample -notify -persist all -ots -unit <拡張ユニット名> -ptp

イベントチャネルの起動

  イベントチャネルグループ「mix」を起動します。

esstartchnl -g mix

2. サンプルプログラムの実行

  コンシューマ、サプライヤの実行方法を説明します。
  なお、本サンプルプログラムを実行する場合は、データベース連携サービスが必要です。Interstageをtype2で初期化してください。


コンシューマの起動

  コンシューマ(mix_consumer)を起動します。

consumer &

  コンシューマがイベントを要求し、イベントチャネルはイベントチャネルに蓄積されたデータをコンシューマに復帰させます。


サプライヤの起動

  サプライヤ(mix_supplier)を起動します。

supplier

  これで、イベントチャネルにメッセージを蓄積します。
  イベントチャネルは蓄積されたデータをコンシューマに復帰させます。


3. 実行結果

  サンプルプログラムの実行結果を示します。
  コンシューマ側のコマンドプロンプトに実行結果が出力されます。

consumer
  pull message : StructuredEvent Mixed-Java