Impostazione dei valori di timeout del socket

Quando si imposta il valore di timeout del socket, tale valore deve essere maggiore di quello di esecuzione.

La proprietà executionTimeout è la quantità massima di tempo consentito a IMS Connect per inviare un messaggio a IMS e ricevere una risposta da IMS. Il valore di timeout del socket comprende quello di timeout di esecuzione. Di conseguenza, il valore di timeout del socket deve essere maggiore di quello timeout di esecuzione perché il socket potrebbe essere scaduto non necessariamente, se il valore è impostato su un numero minore rispetto al valore di timeout di esecuzione. Nella tabella riportata di seguito vengono suggeriti i valori per socket in base ai valori di timeout di esecuzione.

Valore di timeout di esecuzione (millisecondi) Comportamento del timeout di esecuzione Valore di timeout del socket suggerito
0 (o nessun valore) Si utilizza il valore predefinito dal file di configurazione di IMS Connect. Il valore di timeout del socket deve essere maggiore di quello di timeout di esecuzione specificato nel file di configurazione di IMS Connect.
1 - 3.6000.000 Il tempo di attesa della risposta è scaduto dopo il valore specificato in millisecondi. Il valore di timeout del socket deve essere maggiore di quello di esecuzione.
-1 Il tempo di attesa della risposta è indefinito. Impostare il valore di timeout del socket su 0, cosicché la connessione attende in modo indefinito.

Il valore di timeout del socket può essere impostato mediante due metodi. Si può utilizzare CCI (Common Client Interface) JCA per accedere ai metodi getter e setter forniti con IMSInteractionSpec oppure utilizzare uno strumento fornito da IDE delle piattaforme Rational Software Developer, come ad esempio Rational Application Developer con la funzione J2EE Connector Architecture (J2C) opzionale.

Utilizzo dell'applicazione CCI per impostare un valore di timeout del socket

Se si sta creando un'applicazione CCI, si avrà accesso al metodo setSocketTimeout di IMSInteractionSpec. Per utilizzare il metodo setSocketTimeout, è necessario creare un'istanza di un nuovo IMSInteractionSpec oppure ottenere IMSInteractionSpec dall'interazione specifica, quindi impostare il valore di timeout del socket per IMSInteractionSpec utilizzando il metodo setSocketTimeout fornito dalla classe IMSInteractionSpec. Ad esempio:

interactionSpec.setSocketTimeout(timeoutValue1);
interaction.execute(interactionSpec,input,output); 

interactionSpec.setSocketTimeout(timeoutValue2);
interaction.execute(interactionSpec,input,output);

Utilizzo di Rational Application Developer per impostare un valore di timeout del socket

Si può utilizzare Rational Application Developer per impostare un valore di timeout del socket quando inizialmente si definiscono le proprietà di binding IMS per un nuovo bean Java J2C.

Per modificare le proprietà del binding già definite per un nuovo Bean Java J2C, completare i seguenti passi:

  1. Aprire il file Java appropriato del binding IMS mediante l'editor Java.
  2. Individuare la tag doclet per la classe IMSInteractionSpec.
  3. Modificare la tag doclet per aggiungere la proprietà socketTimeout e specificare un valore. Se questa proprietà viene elencata, modificare il valore.
  4. Selezionare l'elemento di estendibilità dell'operazione di nuovo per indicare che le modifiche sono state apportate.
  5. Chiudere l'editor e fare clic su per salvare le modifiche.

Feedback