都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误:
java.lang.IllegalStateException: Only one connection receive subscriber allowed.
困扰了我几天的问题,原来这是 Spring Boot 2.0.5 以上版本的坑,最终从GitHub上找到了答案:
1、一种变相的解决方法:
@Bean
public HiddenHttpMethodFilter hiddenHttpMethodFilter() {
return new HiddenHttpMethodFilter() {
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
return chain.filter(exchange);
}
};
}
原文:https://github.com/spring-projects/spring-boot/issues/14509
2、另外一方法是降级为 Spring Boot 2.0.4
原文:https://github.com/spring-cloud/spring-cloud-gateway/issues/541