J'ai deux beans créant une connexion socket client vers un serveur: AbstractClientConnectionFactory
et TcpOutboundGateway
.Quels délais d'attente pour définir sur Socket créé avec l'intégration de printemps?
Le serveur offre un délai d'attente de 1 minute. Question: quels délais dois-je définir sur les beans afin que spring/java ne termine pas la connexion avant le timeout du serveur?
Les propriétés suivantes sont disponibles:
factory.setSoTimeout();
gateway.setRequestTimeout();
gateway.setRemoteTimeout();
Lequel de ces délais d'attente est correcte pour définir du point de vue des clients? Ou devrais-je simplement les mettre tous à 60000L
?
Je demande parce que je suis juste en utilisant factory.setSoTimeout(60000L)
maintenant, et obtenir des délais de socket après 10sec. Alors peut-être que je dois en plus définir les délais d'expiration de la passerelle?
J'ai également découvert que gateway.setRemoteTimeout(60000L)
empêche le délai d'attente uniquement lorsqu'il est défini. Il est donc probablement correct de définir également cette valeur (bien que je ne comprenne pas pourquoi timeout doit être configuré deux fois).
Encore la question reste ce que .setRequestTimeout()
est pour.