È possibile esporre le proprietà di IMSInteractionSpec e IMSConnectionSpec per l'input come dati in modo che l'applicazione Java possa ottenere i valori della proprietà. Ad esempio, è possibile esporre le proprietà userName e password di IMSConnectionSpec se l'applicazione Java sta utilizzando un accesso EIS gestito dal componente. In alternativa, è possibile esporre la proprietà clientID di IMSConnectionSpec se l'applicazione Java sta eseguendo un'interazione o una connessione socket persistente dedicata.
Per esporre le proprietà di IMSInteractionSpec e IMSConnectionSpec
per l'input, è necessario modificare i file di interfaccia e di implementazione del bean Java J2C prima di utilizzarli in un'applicazione. Generalmente vengono esposte solo le proprietà necessarie come input per l'applicazione Java. Le fasi in questo argomento illustrano come esporre le proprietà di
IMSInteractionSpec e IMSConnectionSpec
utilizzando il bean Java J2C nel progetto
PhoneBookJ2CBean creato nell'argomento,
Creazione di un bean Java J2C.
Per esporre tutte le proprietà di IMSInteractionSpec e IMSConnectionSpec per l'input, procedere come segue:
- Espandere il progetto, PhoneBookJ2CBean e aprire il file di interfaccia PB.java nell'editor Java.
- Nel file PB.java, aggiornare il metodo runPB(). Aggiungere gli argomenti per le proprietà di input di IMSInteractionSpec e
IMSConnectionSpec. Questi argomenti vengono utilizzati per fornire valori di input per le proprietà esposte, alla stessa maniera con cui l'argomento INPUTMSGarg viene utilizzato per fornire valori per il messaggio di input della transazione IMS. Dopo l'aggiunta degli argomenti nel metodo runPB(), il codice è simile al seguente:
package sample.ims;
/**
* @generated
*/
public interface PB {
/**
* @generated
*/
public OUTPUTMSG runPB(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;
}
- Salvare e chiudere il file.
- Espandere il progetto PhoneBookJ2CBean e aprire il file di binding, PBImpl.java nell'editor Java.
- Nel file PBImpl.java, aggiornare il javadoc per il metodo runPB() aggiungendo tag doclet per ciascuna proprietà che si desidera esporre.
- Aggiornare la firma del metodo runPB(). Aggiungere gli argomenti per l'implementazione. Gli argomenti aggiunti al metodo sono correlati alle tag doclet corrispondenti. Per informazioni sulla modifica di tag doclet J2C, vedere Modifica del bean Java J2C. Dopo l'aggiunta delle tag doclet e l'aggiornamento della firma del metodo, il codice è simile al seguente:
/**
* @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.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
*/
public OUTPUTMSG runPB(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 {
- Salvare e chiudere il file. Il nuovo codice di implementazione viene generato per il metodo runPB().
Per ciascuna proprietà esposta, la tag doclet utilizza l'attributo argumentBinding in luogo dell'attributo value. Il valore dell'attributo argumentBinding rappresenta l'argomento del metodo della proprietà IMSInteractionSpec o
IMSConnectionSpec corrispondente. A questo punto sono state esposte tutte le proprietà IMSConnectionSpec
per l'input.