2010-08-13 3 views
0

Si j'ai un service qui fait des appels RPC (disons aux services Web, ou aux services reposants, ou juste pour gratter des données d'une url, etc.), est-ce que je peux l'avoir après 5 secondes?Pouvez-vous faire un délai d'appel rpc après x secondes?

Je ne veux pas qu'il se bloque, puis se bloque si le service distant est en panne, essayez plutôt pendant x secondes, s'il est en panne, puis continuez à l'appel de service distant suivant.

+0

Pouvez-vous planifier ce service? Par exemple, si vous utilisez un système d'exploitation Windows, pouvez-vous le programmer à l'aide du Planificateur de tâches? S'il vous plaît fournir plus de détails. –

Répondre

0

bibliothèques clientes pour RPC ont généralement paramètre de délai d'attente disponible en option. Si la demande n'est pas terminée dans le temps requis, la bibliothèque cliente ferme simplement la connexion. Il n'y a probablement rien sur les délais d'attente dans ces protocoles eux-mêmes.

Comment faites-vous votre classe RPC? Quelles libs vous utilisez?

0

Si vous utilisez Apache HTTP Components faites ceci:

DefaultHttpClient httpClient = new DefaultHttpClient(); 
HttpParams params = httpClient.getParams(); 
HttpConnectionParams.setConnectionTimeout(httpParams, connectionTimeoutMillis); 
HttpConnectionParams.setSoTimeout(httpParams, socketTimeoutMillis); 
Questions connexes