UOCの実装手順と,一つのUOCを作成するための手順例とをあわせて説明します。ここで説明する手順例によって完成するUOC実装クラスの例については,「8.2.2 UOC実装クラスの例」を参照してください。
例として示すUOC実装クラスでは,次の情報を使用しています。
- パッケージ名=sample
- クラス名=UOC_Implementation
- UOC実装クラスを作成します。
UOC実装クラスを作成する際には,次のことに注意してください。
- パッケージ名
UOCを実装したクラスを格納するパッケージ名は任意とします。
- UOC実装クラスのアクセス制限
publicとします。
- UOC実装クラスのコンストラクタ
デフォルトコンストラクタだけとします。コンストラクタ内で処理が必要な場合は,デフォルトコンストラクタを使用してください。また,その場合はコンストラクタのアクセス制限はpublicとしてください。
- UOC実装クラスのインスタンス化
UOC実装クラスは,UOCを呼ぶたびにインスタンス化されます。
- UOC実装クラスの例外処理
UOCからは例外を送出しないでください。
UOC内で発生する例外については,UOC内で処理を実行してください。
- UOC実装クラスをコンパイルします。
javacコマンドを使用して,作成したUOC実装クラスをコンパイルし,クラスファイルを作成します。
クラスパスには,uCosminexus Message Service for ebXMLが提供するライブラリ(hebxmlmshcbejb.jar)を指定します。hebxmlmshcbejb.jarは,次のディレクトリに格納されています。
- Windowsの場合
<uCosminexus Message Service for ebXMLのインストールディレクトリ>¥lib
- UNIXの場合
/opt/ebxml/msh/lib
- 【例】
- javacコマンドの実行例を次に示します。
- Windowsの場合
javac -classpath "C:¥Program Files¥HITACHI¥ebxml¥msh¥lib¥hebxmlmshcbejb.jar" UOC_Implementation.java |
- UNIXの場合
javac -classpath /opt/ebxml/msh/lib/hebxmlmshcbejb.jar UOC_Implementation.java |
- uCosminexus Message Service for ebXMLのアプリケーションファイルおよびライブラリをバックアップします。
作成したUOC実装クラスを動作させるためには,uCosminexus Message Service for ebXMLのアプリケーションファイルに追加する必要があります。uCosminexus Message Service for ebXMLのアプリケーションファイルにUOC実装クラスを追加すると,uCosminexus Message Service for ebXMLのアプリケーションファイルは上書きされるため,前もって別ディレクトリにバックアップしてください。
なお,uCosminexus Message Service for ebXMLのアプリケーションファイルおよびライブラリがuCosminexus Message Service for ebXMLインストールディレクトリのlib下にないとコマンド実行エラーとなるため,移動ではなく,必ずコピーするようにしてください。
コピーが必要なファイルを次に示します。
- Windowsの場合
<uCosminexus Message Service for ebXMLインストールディレクトリ>¥lib¥hebxmlmshcbejb.jar
<uCosminexus Message Service for ebXMLインストールディレクトリ>¥lib¥hebxmlmshapp.ear
- UNIXの場合
/opt/ebxml/msh/lib/hebxmlmshcbejb.jar
/opt/ebxml/msh/lib/hebxmlmshapp.ear
- UOC実装クラスをuCosminexus Message Service for ebXMLのアプリケーションファイルに追加します。
UOC追加コマンドを使用して,UOC実装クラスをuCosminexus Message Service for ebXMLのアプリケーションファイルに追加します。追加するには,UOC追加コマンド実行時にUOC実装クラスを格納したディレクトリをオプションで指定します。UOC実装クラスは,あらかじめ任意の位置にパッケージ名のディレクトリを作成し,さらにその下にclassファイル名のディレクトリを作成して格納しておいてください。
UOC追加コマンドの実行形式については,「9.3 システム構築・運用コマンド」のMSHAddUocを参照してください。
- 【例】
- Windowsの場合の,UOC追加コマンドの実行例を次に示します。
MSHAddUoc -f sample¥UOC_Implementation.class -c C:¥tmp |
- UNIXの場合の,UOC追加コマンドの実行例を次に示します。
MSHAddUoc -f sample/UOC_Implementation.class -c /tmp |
- 送信結果/受信定義ファイルに,UOC実装クラスを指定します。
UOC実装クラスは送信結果/受信定義ファイル(SEND_NOTIFYコンテナおよびRECV_MESSAGEコンテナのUOC_CLASSキー)に指定します。送信結果/受信定義ファイルの詳細については,「7.5 送信結果/受信定義ファイル(rcvdef.xml)」を参照してください。
- 【例】
- 送信結果/受信定義ファイル(SEND_NOTIFYコンテナおよびRECV_MESSAGEコンテナのUOC_CLASSキー)に,UOC実装クラスをパッケージ名から指定する場合の例を次に示します。この例はサンプルのため,送信結果/受信定義ファイルの一部分を抜粋しています。
<Container id="SEND_NOTIFY">
<Key id="UOC_CLASS">sample.UOC_Implementation</Key>
</Container>
<Container id="RECV_MESSAGE">
<Key id="UOC_CLASS">sample.UOC_Implementation</Key>
(中略)
</Container> |