WSIFOperation: referencia de tiempos de espera síncronos y asíncronos
Cuando se utiliza WSIF (Web Services Invocation Framework) con JMS (Java™ Message Service), se pueden establecer tiempos de espera para las operaciones síncronas y asíncronas.
Los valores predeterminados de estos tiempos de espera se definen en el archivo wsif.properties:
# número máximo de milisegundos de tiempo de espera de una respuesta a una solicitud síncrona.
# Si no se define, el valor predeterminado es esperar indefinidamente.
wsif.syncrequest.timeout=10000
# número máximo de segundos para esperar una respuesta a una solicitud asíncrona.
# si no se define o no es válido, el valor predeterminado es sin tiempo de espera.
wsif.asyncrequest.timeout=60
El código que procesa estos valores de tiempo en espera utiliza milisegundos como unidad de tiempo. El método getAsyncTimeout de la clase WSIFProperties multiplica el valor de wsif.asyncrequest.timeout por 1000 para convertir el valor de segundos a milisegundos.
Puede alterar temporalmente estos valores predeterminados para una solicitud determinada escribiendo una extensión WSDL que establezca una propiedad JMS en la solicitud de operación con los elementos WSDL <jms:property> y <jms:propertyValue>. Establezca el nombre de la propiedad como el nombre del tiempo de espera del archivo de propiedades de WSIF.
<jms:propertyValue name="wsif.syncrequest.timeout" type="xsd:string" value="120000"/>
y el ejemplo siguiente inhabilita los tiempos de espera asíncronos (un valor de cero
significa una espera infinita):<jms:propertyValue name="wsif.asyncrequest.timeout" type="xsd:string" value="0"/>
Cuando caduca un tiempo de espera asíncrono, no se notifica a ninguna escucha o base de datos de mensajes en espera de la respuesta. El tiempo de espera asíncrono sólo se utilizará para indicar al servicio de correlación que se puede suprimir la WSIFOperation almacenada. Para obtener más información acerca del servicio de correlación, consulte WSIFOperation: consulta de interacciones asíncronas.