Combien de demandes simultanées puis-je envoyer si le service à distance s'ils bloquent? Signifie: quelle est la limite de pool maxonnection que le ressort utilise à l'intérieur lors de l'utilisation WebClient
?
@Autowired
private WebClient webClient;
webClient.post().uri(url).syncBody(req).retrieve().bodyToMono(type);
Et de plus: Comment puis-je le modifier?
Avant Reactor-Netty 0.9.0.m4 Version Il n'y avait pas de limite par défaut en raison du fournisseur de connexion "élastique" a été utilisé. Ce correctif le modifié sur le fournisseur de connexion "corrigé" avec la limite de 500.
Pour changer la limite de pool de connexion, vous pouvez définir votre propre WebClient.Builder
haricotez et utilisez-le pour créer WebClient
@Bean
public WebClient.Builder webClientBuilder() {
String connectionProviderName = "myConnectionProvider";
int maxConnections = 100;
int acquireTimeout = 1000;
HttpClient httpClient = HttpClient.create(ConnectionProvider
.fixed(connectionProviderName, maxConnections, acquireTimeout));
return WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient));
}
Ou vous pouvez mettre en œuvre la personnalisation org.springframework.boot.web.reactive.function.client.WebClientCustomizer
de la même manière avec le prédéfini WebClient.Builder
pris de la NETTY Documentation
Par défaut, le TCP utilise un pool de connexion "fixe" avec 500 comme numéro maximum des canaux et 45s comme délai d'acquisition.