InteractionSpec kimeneti tulajdonságainak elérhetővé tétele adatokként

Az IMSInteractionSpec objektum tulajdonságai kimenetként elérhetővé tehetők. Pillanatnyilag csak az asyncOutputAvailable, convEnded ás a mapName kimeneti tulajdonságok tehetők elérhetővé. Ha az IMSInteractionSpec tulajdonságait kimenetként elérhetővé kívánja tenni, akkor új kimeneti osztályt kell létrehoznia és a J2C Java komponens felület és megvalósítás fájljait módosítania kell, mielőtt alkalmazásban felhasználná azokat.

Jellemzően csak azokat a tulajdonságokat teszik elérhetővé, amelyekre a Java alkalmazásnak kimentként szüksége van. Jelen témakör lépései az IMSInteractionSpec objektum összes tulajdonságának elérhetővé tételét bemutatják a PhoneBookJ2CBean projektben lévő J2C Java komponens felhasználásával, ami a J2C Java komponens létrehozása témakörben került létrehozásra.

Az IMSInteractionSpec objektum összes tulajdonságának elérhetővé tételéhez tegye a következőket:

  1. Bontsa ki a PhoneBookJ2CBean projektet és nyissa meg a PB.java felületfájlt a Java-szerkesztőben.
  2. A PB.java fájlban frissítse a runPB() aláírását. Adja hozzá az IMSInteractionSpec objektum kimeneti tulajdonságainak argumentumait. Ezen argumentumokon keresztül biztosíthatók kimeneti értékek az elérhetővé tett tulajdonságok számára, hasonlóan ahhoz, ahogy az OUTPUTMSGarg argumentum segítségével értékeket biztosítanak az IMS tranzakció kimeneti üzenetének. Miután az argumentumokat a runPB() metódusban hozzáadja, a kód a következőképpen fog kinézni:
    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. Új, WrapperBean nevű osztály létrehozásához tegye a következőket :
    1. Bontsa ki a PhoneBookBindings projektet, kattintson a jobb egérgombbal a sample.ims csomagra, majd válassza az előugró menü Új > Osztály menüpontját.
    2. Az osztály neveként írja be a következőt: WrapperBean.
    3. A létrehozandó metódusokhoz válassza ki az Örökölt absztrakt metódus és Konstruktorok a szülőosztályból lehetőségeket.
    4. Kattintson a Befejezés gombra.
    5. Szerkesztőben nyissa meg a WrapperBean osztályt és adjon hozzá java.io.Serializable elemet importáló utasítást.
    6. Módosítsa a WrapperBean osztályt, hogy az a sorosíthatót megvalósítsa. Például:
      public class WrapperBean implements Serializable {
    7. A WrapperBean osztályban vegyen fel privát változót az IMS tranzakció kimeneti üzenetének IMS Java adatkötéséhez. Például:
      private OUTPUTMSG output;
    8. A WrapperBean osztályban vegyen fel privát változókat az elérhetővé tenni kívánt IMSInteractionSpec tulajdonságokhoz: Például:
      private boolean convEnded;
      private boolean asyncOutputAvailable;
      private String mapName;
    9. Ezután vegyen fel get és set metódusokat a kimeneti üzenethez és minden egyes elérhetővé tett tulajdonsághoz. Például:
      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. Mentse és zárja be a WrapperBean osztályt.
  4. Módosítsa a felületfájlt, hogy az új WrapperBean kimeneti osztályt használja; bontsa ki a PhoneBookJ2CBean > sample.ims elemet és nyissa meg a PB.java felületfájlt a Java-szerkesztőben.
  5. Módosítsa az IMS tranzakciót futtató runPB() metódus kimenetét, hogy a WrapperBean osztályt adja vissza az OUTPUTMSG helyett. Például:
    public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException;
  6. Módosítsa a megvalósítás fájlt, hogy az új WrapperBean kimeneti osztályt használja; bontsa ki a PhoneBookJ2CBean > sample.ims elemet és nyissa meg a PBImpl.java megvalósítás fájlt a Java-szerkesztőben.
  7. Módosítsa az IMS tranzakciót futtató runPB() kimeneti metódust, hogy a WrapperBean osztályt adja vissza az OUTPUTMSG helyett. Például:
    public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException {
  8. Frissítse a runPB() metódus Javadoc dokumentációját dokumentumkezelő kisalkalmazás címkéket hozzáadva minden kimeneti tulajdonsághoz, amelyet elérhetővé kíván tenni. A következő runPB() JavaDoc például mind a bemeneti, mind a kimeneti tulajdonságok címkéit megjeleníti:
    /**
         * @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. Mentse el és zárja be a fájlt. A runPB() metódushoz új megvalósítási kód került előállításra .
Az IMSInteractionSpec objektum tulajdonságait kimenetként elérhetővé tette.

Visszajelzés