J'ai publié un point de terminaison de service Web sur un serveur http Sun Lightweight. Le serveur fonctionne avec les exécuteurs ThreadPool pour la connexion (Executors.newCachedThreadPool()
). J'utilise également le client de service Web régulier (également JAX-WS).Problème de délai d'attente JAX-WS
Il semble que pour chaque appel qui dépasse 5 minutes, le serveur (ou le client) termine le thread d'appel en cours et en ouvre un nouveau. Dans le serveur, il semble qu'une nouvelle connexion ait été établie et essaye d'exécuter la même action. Cela ne se produit qu'une seule fois, ce qui signifie que le "second appel" peut dépasser 5 minutes.
Y at-il un délai d'expiration par défaut pour une connexion? Y a-t-il un moyen de le configurer?
Vous pouvez également définir des propriétés de délai d'attente pour le client de service Web que j'utilise: Mappage requestContext = bp.getRequestContext(); \t \t \t \t requestContext.put (JAXWSProperties.CONNECT_TIMEOUT, ); requestContext.put (JAXWSProperties.REQUEST_TIMEOUT, ); Cependant, cela n'a pas aidé. –
Tal
@Brian Ce n'est en fait pas un problème côté client. –
@Pascal - noté (je n'ai pas encore consulté vos liens). Savez-vous si Jetty ne renonce pas aux connexions inactives d'une manière similaire? Notez que j'ai édité ma réponse de manière appropriée (!) Mais je pense que pour une opération de 5 minutes, le problème du délai d'attente du client entrera en jeu à un moment donné, donc je ne l'ai pas supprimé. –