J'appelle un service Web utilisant un client resease. Une exigence est d'abandonner / du délai d'expiration de l'appel si elle fonctionne pour plus de 5 secondes. Comment pourrais-je y parvenir avec un client restant? J'ai seulement vu le time-temps côté serveur, c'est-à-dire que le site WebSevice REST EASYA TIMEOUTAIRE La demande si elle n'est pas remplie dans un certain temps. P>
5 Réponses :
Un client restant facile utilise généralement Apache httpClient pour gérer la conversation réseau.
Vous pouvez remplacer les propriétés httpClient avec vos propres paramètres temporels personnalisés: P>
ClientExecutor executor = new ApacheHttpClient4Executor(httpClient);
Comment le traitons-nous? Je veux dire que je veux me connecter si le délai d'attente se produit.
Si vous utilisez un cadre client restrict avec une intégration de printemps ( documentation ), ce qui suit est le moyen de définir les valeurs de timeout:
p>
La réponse de Carter Page est correcte pour Apache httpClient version> = 4.0.
Pour les versions antérieures de httpclient (par exemple 3.1), le code est légèrement différent: p>
Si vous préférez que le modèle de constructeur ici est comment vous le faites:
Client client = new ResteasyClientBuilder() .establishConnectionTimeout(5, TimeUnit.SECONDS) .socketTimeout(5, TimeUnit.SECONDS) .build();
Actuellement, les deux méthodes sont obsolètes
étant donné que les deux Avec cette explication sur JBoss V7.3 par Site Web Redhat : P> Les méthodes conformes à la spécification ClientBuilder suivant remplacent certaines méthodes restractées obsolètes: p>
La méthode La méthode Ceci a fonctionné pour moi avec