Exposition des propriétés InteractionSpec et ConnectionSpec pour l'entrée

Vous pouvez exposer les propriétés InteractionSpec et ConnectionSpec en tant qu'entrée de données pour que votre application Java puisse définir les valeurs des propriétés. Par exemple, vous pouvez avoir besoin d'exposer les propriétés de délai d'attente d'exécution ECIInteractionSpec pour fournir une valeur de délai d'attente en fonction des entrées utilisateur.

Généralement, vous n'exposez que les propriétés dont a besoin votre application Java comme entrée.
Voici la procédure de base pour exposer une propriété pour l'entrée.
  1. Lancez l'assistant Ajout ou édition d'une méthode Java.
  2. Cliquez sur Ajouter... ou Editer... pour ajouter une nouvelle méthode ou éditer une méthode existante.
  3. Faites défiler les pages de l'assistant : passez la page comportant le nom et celle indiquant le type d'entrée/sortie, jusqu'à ce que la page de récapitulatif s'affiche.
  4. Sur la page de récapitulatif de l'assistant Ajouter une méthode Java, sélectionnez Afficher les paramètres avancés.
  5. Développez la zone Spécifications de connexion.

    Exposition des spécifications de connexion

  6. Sélectionnez les propriétés que vous souhaitez exposer.
  7. Vous pouvez changer la valeur d'un nom de variable en cliquant sur cette valeur et en en saisissant une nouvelle :
  8. Utilisation des boutons Déplacer vers le haut Bouton Déplacer vers le haut et Déplacer vers le bas Bouton Déplacer vers le bas pour changer l'ordre des propriétés.
  9. Cliquez sur Terminer.

Exemple

Voici la méthode getCustomer() du tutoriel tader99, modifiée pour accepter un entier, execTimeout, en tant qu'autre argument et le définir sur la propriété interactionSpec. Les modifications qui ont été effectuées sont indiquées en gras. Le code généré modifié apparaît en italique :

/**
	 * @j2c.interactionSpec class="com.ibm.connector2.cics.ECIInteractionSpec"
	 * @j2c.interactionSpec-property name="functionName" value="TADERC99"
	 * @j2c.interactionSpec-property
	 *   name="executeTimeout"
	 *   argumentBinding="execTimeout"
	 * 
	 * @generated
	 */
	public sample.cics.data.CustomerInfo getCustomer(
			sample.cics.data.CustomerInfo arg,
			int execTimeout) throws javax.resource.ResourceException {
				ConnectionSpec cs = getConnectionSpec();
				InteractionSpec is = interactionSpec;
				if (is == null) {
					is = new com.ibm.connector2.cics.ECIInteractionSpec();
					((com.ibm.connector2.cics.ECIInteractionSpec) is).setFunctionName("TADERC99");
					((com.ibm.connector2.cics.ECIInteractionSpec) is).setExecuteTimeout(execTimeout);
				}
				sample.cics.data.CustomerInfo output = new sample.cics.data.CustomerInfo();
				invoke(cs, is, arg, output);
				return output;
			}

Pour exposer une propriété ConnectionSpec pour l'entrée, utilisez plutôt la balise doclet @j2c.connectionSpec-property.


Vos commentaires