InteractionSpec 出力プロパティーのデータとしての公開

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

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

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. 「終了」をクリックする。
    5. エディターで WrapperBean クラスを開き、 java.io.Serializable について import ステートメントを追加します。
    6. Serializable を実装するように WrapperBean クラスを変更します。 以下に例を示します。
      public class WrapperBean implements Serializable {
    7. WrapperBean クラスで、IMS トランザクションの出力メッセージの IMS Java データ・バインディングについて private 変数を追加します。 以下に例を示します。
      private OUTPUTMSG output;
    8. WrapperBean クラスで、公開したい IMSInteractionSpec のプロパティーについて private 変数を追加します。 以下に例を示します。
      private boolean convEnded;
      private boolean asyncOutputAvailable;
      private String mapName;
    9. 次に、出力メッセージと公開される各プロパティーについて、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;
          }
    10. 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 プロパティーが公開されました。

フィードバック