8.2.1 UOCの実装手順

UOCの実装手順と,一つのUOCを作成するための手順例とをあわせて説明します。ここで説明する手順例によって完成するUOC実装クラスの例については,「8.2.2 UOC実装クラスの例」を参照してください。

例として示すUOC実装クラスでは,次の情報を使用しています。

  1. UOC実装クラスを作成します。
    UOC実装クラスを作成する際には,次のことに注意してください。
    • パッケージ名
      UOCを実装したクラスを格納するパッケージ名は任意とします。
    • UOC実装クラスのアクセス制限
      publicとします。
    • UOC実装クラスのコンストラクタ
      デフォルトコンストラクタだけとします。コンストラクタ内で処理が必要な場合は,デフォルトコンストラクタを使用してください。また,その場合はコンストラクタのアクセス制限はpublicとしてください。
    • UOC実装クラスのインスタンス化
      UOC実装クラスは,UOCを呼ぶたびにインスタンス化されます。
    • UOC実装クラスの例外処理
      UOCからは例外を送出しないでください。
      UOC内で発生する例外については,UOC内で処理を実行してください。
  2. 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

  3. 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
  4. 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

  5. 送信結果/受信定義ファイルに,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>