Vous pouvez exposer des propriétés de sortie de IMSInteractionSpec. Actuellement,
les seules propriétés de sortie pouvant être exposées sont asyncOutputAvailable, convEnded,
et mapName. Pour exposer ces propriétés de IMSInteractionSpec pour la sortie,
vous devez créer une nouvelle classe de sortie et modifier l'interface et les fichiers d'implémentation
de votre bean Java J2C avant de l'utiliser dans une application.
Généralement, vous n'exposez que les propriétés dont a besoin votre application Java pour la sortie. Les étapes de cette rubrique illustrent comment exposer toutes les propriétés
de IMSInteractionSpec à l'aide du bean Java J2C dans le projet
PhoneBookJ2CBean qui a été
créé dans la rubrique
Création d'un bean Java J2C.
Pour exposer toutes les propriétés de sortie de IMSInteractionSpec, procédez comme suit :
- Développez le projet PhoneBookJ2CBean et ouvrez
le fichier d'interface PB.java, dans l'éditeur Java.
- Dans le fichier PB.java, mettez à jour la signature de runPB(). Ajoutez les arguments pour les propriétés de sortie de IMSInteractionSpec. Ces
arguments sont utilisés pour fournir des valeurs de sortie pour les propriétés exposées, de la même
façon que l'argument OUTPUTMSGarg est utilisé pour fournir les valeurs pour le message de sortie de la transaction IMS. Après avoir ajouté les arguments dans la méthode runPB(), le code se présente comme suit :
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;
}
- Créez une nouvelle classe, WrapperBean, en procédant comme suit :
- Développez le projet, PhoneBookBindings,
cliquez avec le bouton droit de la souris sur le package sample.ims et sélectionnez Nouveau
> Classe.
- Pour le nom de la classe, entrez WrapperBean.
- Pour les méthodes de création, sélectionnez Méthodes abstraites héritées et Constructeurs de super-classe.
- Cliquez sur Terminer.
- Ouvrez la classe WrapperBean dans un éditeur et ajoutez
une instruction d'importation pour java.io.Serializable.
- Modifiez la classe WrapperBean pour qu'elle implémente Serializable. Par exemple :
public class WrapperBean implements Serializable {
- Dans la classe WrapperBean, ajoutez une variable privée pour la liaison de données
IMS Java du message de sortie de la transaction IMS. Par exemple :
private OUTPUTMSG output;
- Dans la classe WrapperBean , ajoutez des variables privées pour
les propriétés de IMSInteractionSpec que vous souhaitez exposer : Par exemple :
private boolean convEnded;
private boolean asyncOutputAvailable;
private String mapName;
- Ajoutez ensuite des méthodes get et set pour le message de sortie et pour
chacune des propriétés exposées. Par exemple :
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;
}
- Sauvegardez et fermez la classe WrapperBean.
- Modifiez le fichier d'interface pour utiliser la nouvelle classe de sortie, WrapperBean, en
développant PhoneBookJ2CBean > sample.ims et ouvrez le fichier
d'interface PB.java dans l'éditeur Java.
- Changez la sortie de la méthode runPB(),
qui exécute la transaction IMS, pour renvoyer WrapperBean à la place de OUTPUTMSG. Par exemple :
public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException;
- Modifiez le fichier d'implémentation pour utiliser la nouvelle classe de sortie, WrapperBean, en
développant PhoneBookJ2CBean > sample.ims et en ouvrant
le fichier d'implémentation, PBImpl.java, dans l'éditeur Java.
- Changez la méthode de sortie, runPB(), qui exécute
la transaction IMS, pour renvoyer WrapperBean à la place de OUTPUTMSG. Par exemple :
public sample.ims.WrapperBean runBP(INPUTMSG arg) throws javax.resource.ResourceException {
- Mettez à jour le javadoc pour la méthode runPB() en ajoutant des balises doclet
pour les propriétés de sortie que vous souhaitez exposer. Par exemple,
le javadoc suivant pour runPB() comporte des balises pour les propriétés de sortie et les propriétés d'entrée :
/**
* @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
*/
- Sauvegardez et fermez le fichier. Le nouveau code d'implémentation
est généré pour la méthode runPB().
Vous avez exposé les propriétés de sortie de IMSInteractionSpec.