小编Won*_*dem的帖子

HttpClient vs HtmlUnit

我知道HtmlUnit模拟浏览器,而HttpClient不是.

HtmlUnit,当一个页面加载并且里面有一个JavaScript时,脚本会被执行吗?如果脚本设置了cookie,cookie是否会在HtmlUnit浏览器中设置并可从Java代码访问?

有没有什么可以使用HttpClient,但不能使用HtmlUnit?在HtmlUnit,我们可以从POST请求开始并修改HTTP请求的任何部分,包括方法,URI,HTTP版本,标题和正文吗?

有什么优势HttpClientHtmlUnit

java httpclient htmlunit

3
推荐指数
1
解决办法
568
查看次数

反应堆重试不调用要重试的方法

我有一个总是返回的方法Mono.error

private Mono<String> doSomething() {
        System.out.println("doSomething");
        return Mono.error(new Error());
}
Run Code Online (Sandbox Code Playgroud)

我尝试重试执行3次

Mono<String> mono =
                myClass.doSomething()
                        .doOnSubscribe(x -> System.out.println("Subscribe"))
                        .retryWhen(companion -> companion
                                .doOnNext(s -> System.out.println(s + " at " + LocalTime.now()))
                                .zipWith(Flux.range(1, 4), (error, index) -> {
                                    if (index < 4) return index;
                                    else throw Exceptions.propagate(error);
                                })
                                .flatMap(index -> Mono.delay(Duration.ofMillis(index * 100)))
                                .doOnNext(s -> System.out.println("retried at " + LocalTime.now()))
                        );

        mono.block();
Run Code Online (Sandbox Code Playgroud)

但是,doSomething仅打印一次,而Subscribe打印了 4 次(开始时 1 次,重试 3 次)

不执行该方法如何重新订阅?

我想做的是doSomething在每次重试时执行

java project-reactor

1
推荐指数
1
解决办法
1314
查看次数

如何禁用 Spring Web MVC

嗨,我刚刚将 springboot 从 2.0.5 升级到 2.1.8 首先我收到了这个错误

The bean 'requestMappingHandlerAdapter', defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class], could not be registered. A bean with that name has already been defined in org.springframework.web.reactive.config.DelegatingWebFluxConfiguration and overriding is disabled.
Run Code Online (Sandbox Code Playgroud)

所以,我添加了这个 application.properties

spring.main.allow-bean-definition-overriding: true
Run Code Online (Sandbox Code Playgroud)

但是我得到了不同的错误。

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.reactive.config.DelegatingWebFluxConfiguration': Initialization of bean failed; nested exception is java.lang.IllegalStateException: The Java/XML config for Spring MVC and Spring WebFlux cannot both be enabled, e.g. via @EnableWebMvc and @EnableWebFlux, in the same application.
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:601) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE] …
Run Code Online (Sandbox Code Playgroud)

spring-mvc spring-boot spring-webflux

0
推荐指数
1
解决办法
3880
查看次数