Pregunta

Im usando asincrónica roscado en mi aplicación CON httpClient.Puedo hacer una llamada usando el Futuro de la Api, como así

mStrResults = (String) rssFuture.get();

este intentos de llamada para recuperar una cadena html de regresar de mi Exigible httpClient método call ().

Lo que yo quiero hacer, sin embargo, es asegurarse de que el método get no espere demasiado tiempo mientras se ejecuta el método call ().Debo pasar un parámetro de tiempo de espera cuando se llama a rssFuture.get (), o bien sólo envolvente con una InterruptedException bloque catch?

También hay un tiempo predeterminado que el asincrónica hilo va a esperar antes de lanzar un InterruptedException y si es así puedo establecer un valor personalizado?

¿Fue útil?

Solución

Usted debe pasar un parámetro de tiempo de espera cuando se llama a rssFuture.get() y coger el TimeoutException.Un InterruptedException sólo ocurrirá si el hilo de la su call se interrumpe con la Thread.interrupt método o si se llama a la cancel(true) método en el Futuro obj.

Otros consejos

Debería usar Future. get (tiempo de espera largo, unidad TimeUnit) y captura TimeoutException. No hay tiempo de espera predeterminado para get (), esperará para siempre .

InterruptedException no se lanzará a menos que se interrumpa el hilo que llama a Future.get ().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top