interactionSpec を出力データとして手動で公開する例: IMS 電話帳のサンプル

出力のために IMSInteractionSpec プロパティーを公開することができます。現在公開できる出力プロパティーは、asyncOutputAvailableconvEnded、および mapName のみです。出力のために IMSInteractionSpec のこれらのプロパティーを公開するには、出力クラスを作成し、J2C Bean のインターフェースおよび実装ファイルを変更してから、それをアプリケーションで使用する必要があります。

このタスクについて

通常、Java™ アプリケーションが出力として必要とするプロパティーのみを公開します。このトピックのステップでは、IMS に接続するために J2C Bean を作成するのトピックで作成されたプロジェクト PhoneBookJ2CBean 内の J2C Bean を使用して、IMSInteractionSpec の全プロパティーを公開する方法について説明します。

手順

  1. プロジェクト PhoneBookJ2CBean を展開して、 インターフェース・ファイル PB.java を Java エディターで開きます。
  2. PB.java ファイルで、runPB() の署名を更新します。 IMSInteractionSpec の出力プロパティーの引数を追加します。これらの引数は公開されるプロパティーの出力値を提供するために使用されます。同様に、引数 OUTPUTMSGarg は IMS トランザクションの出力メッセージの値を提供するために使用されます。 メソッド runPB() に引数を追加すると、コードはこのようになります。
    package sample.ims;
    
    
    /**
     * @generated
     */
    public interface PB {
    
    	/**
    	 * @generated
    	 */
    	public sample.ims.WrapperBean runPB(sample.ims.INPUTMSG arg,
                int myCommitMode,
                int myExecutionTimeout,
                int myImsRequestType,
                int myInteractionVerb,
                String myLtermName,
                String myMapName,
                boolean myPurgeAsyncOutput,
                boolean myReRoute,
                String myReRouteName,
                int mySocketTimeout,
                String myUserName,
                String myPassword,
                String myGroupName,
                String myClientID
    			) throws javax.resource.ResourceException;
    }
  3. 以下のステップを実行して、クラス WrapperBean を作成します。
    1. プロジェクト PhoneBookBindings を展開し、 sample.ims パッケージを右クリックして、「新規」 >「クラス」と選択します。
    2. クラスの名前に、WrapperBean と入力します。
    3. 作成するメソッドについて、「継承された抽象メソッド」および 「スーパークラスからのコンストラクター」を選択し、「終了」をクリックします。
    4. エディターで WrapperBean クラスを開き、 java.io.Serializable について import ステートメントを追加します。
    5. Serializable を実装するように WrapperBean クラスを変更します。 以下に例を示します。
      public class WrapperBean implements Serializable {
    6. WrapperBean クラスで、IMS トランザクションの出力メッセージの IMS Java データ・バインディングについて private 変数を追加します。 以下に例を示します。
      private OUTPUTMSG output;
    7. WrapperBean クラスで、公開したい IMSInteractionSpec のプロパティーについて private 変数を追加します。 以下に例を示します。
      private boolean convEnded;
      private boolean asyncOutputAvailable;
      private String mapName;
    8. 次に、出力メッセージと公開される各プロパティーについて、get メソッドおよび set メソッドを追加します。 以下に例を示します。
      public OUTPUTMSG getOutput(){
              return output;
          }   
         
          public boolean getConvEnded(){
              return convEnded;
          }
         
          public boolean getAsyncOutputAvailable(){
              return asyncOutputAvailable;
          } 
          
          public String getMapName(){
              return mapName;
          }
         
          public void setOutput(OUTPUTMSG output){
              this.output = output;
          }
         
          public void setAsyncOutputAvailable(boolean asyncOutputAvailable){
              this.asyncOutputAvailable = asyncOutputAvailable;
          }   
      
          public void setConvEnded(boolean convEnded){
              this.convEnded = convEnded;
          }    
          
          public void setMapName(String mapName){
              this.mapName = mapName;
          }
    9. WrapperBean クラスを保存して閉じます。
  4. 新規出力クラス WrapperBean を使用するように、インターフェース・ファイルを変更します。これは、「PhoneBookJ2CBean」>「sample.ims」と展開して、インターフェース・ファイル PB.java を Java エディターで開くことで行います。
  5. IMS トランザクションを実行するメソッド runPB() の出力を変更して、WrapperBeanOUTPUTMSG の代わりに戻します。 以下に例を示します。
    public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException;
  6. 新規出力クラス WrapperBean を使用するように、実装ファイルを変更します。 これは、「PhoneBookJ2CBean」>「sample.ims」と展開して、実装ファイル PBImpl.java を Java エディターで開くことで行います。
  7. IMS トランザクションを実行する出力メソッド runPB() を変更して、WrapperBeanOUTPUTMSG の代わりに戻します。 以下に例を示します。
    public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException {
  8. 公開したい出力プロパティーにドックレット・タグを追加して、runPB() メソッドについて javadoc を更新します。 例えば、以下の runPB() についての Javadoc は、入出力両方のプロパティーのタグを示します。
    /**
         * @j2c.interactionSpec class="com.ibm.connector2.ims.ico.IMSInteractionSpec"
         * @j2c.interactionSpec-property name="commitMode" argumentBinding="myCommitMode"
         * @j2c.interactionSpec-property name="executionTimeout" argumentBinding="myExecutionTimeout"
         * @j2c.interactionSpec-property name="imsRequestType" argumentBinding="myImsRequestType"
         * @j2c.interactionSpec-property name="interactionVerb" argumentBinding="myInteractionVerb"
         * @j2c.interactionSpec-property name="ltermName" argumentBinding="myLtermName"
         * @j2c.interactionSpec-property name="mapName" argumentBinding="myMapName"
         * @j2c.interactionSpec-property name="purgeAsyncOutput" argumentBinding="myPurgeAsyncOutput"
         * @j2c.interactionSpec-property name="reRoute" argumentBinding="myReRoute"
         * @j2c.interactionSpec-property name="reRouteName" argumentBinding="myReRouteName"
         * @j2c.interactionSpec-property name="socketTimeout" argumentBinding="mySocketTimeout"
         * @j2c.interactionSpec-returnProperty
         *   name="convEnded"
         *   outputBinding="convEnded"
         * @j2c.interactionSpec-returnProperty
         *   name="asyncOutputAvailable"
         *   outputBinding="asyncOutputAvailable"
         * @j2c.interactionSpec-returnProperty
         *   name="mapName"
         *   outputBinding="mapName"
         *
         * @j2c.connectionSpec class="com.ibm.connector2.ims.ico.IMSConnectionSpec"
         * @j2c.connectionSpec-property name="userName" argumentBinding="myUserName"
         * @j2c.connectionSpec-property name="password" argumentBinding="myPassword"
         * @j2c.connectionSpec-property name="groupName" argumentBinding="myGroupName"
         * @j2c.connectionSpec-property name="clientID" argumentBinding="myClientID"
         *
         * @generated
         */  
  9. ファイルを保存して閉じます。 新規の実装コードがメソッド runPB() について生成されました。

次のタスク

出力のために IMSInteractionSpec プロパティーが公開されました。

フィードバック