- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用带有 webflux 的 Spring Boot 2.1.1.RELEASE。
依赖关系如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
@RestController
public class TestController {
@GetMapping("/test")
public Mono test(String a) {
Hooks.onOperatorDebug();
return Mono.just("test1")
.map(t -> t + "test2")
.zipWith(Mono.error(() -> new IllegalArgumentException("error")));
}
@PostMapping("/test")
public Mono post(@RequestBody Req req) {
return Mono.just(req);
}
}
class Req {
private String a;
private String b;
public String getA() {
return a;
}
public void setA(String a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
}
logging:
level:
root: trace
2018-12-10 21:41:17.001 DEBUG 31340 --- [ctor-http-nio-2] r.n.http.server.HttpServerOperations : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Increasing pending responses, now 1
2018-12-10 21:41:17.001 DEBUG 31340 --- [ctor-http-nio-2] reactor.netty.http.server.HttpServer : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Handler is being applied: org.springframework.http.server.reactive.ReactorHttpHandlerAdapter@3a0ad630
2018-12-10 21:41:17.002 TRACE 31340 --- [ctor-http-nio-2] o.s.w.s.adapter.HttpWebHandlerAdapter : [7cc865b4] HTTP GET "/test?a=b", headers={masked}
2018-12-10 21:41:17.002 TRACE 31340 --- [ctor-http-nio-2] o.s.b.f.s.DefaultListableBeanFactory : Returning cached instance of singleton bean 'testController'
2018-12-10 21:41:17.002 DEBUG 31340 --- [ctor-http-nio-2] s.w.r.r.m.a.RequestMappingHandlerMapping : [7cc865b4] Mapped to public reactor.core.publisher.Mono com.itmuch.webfluxtest.TestController.test(java.lang.String)
2018-12-10 21:41:17.003 DEBUG 31340 --- [ctor-http-nio-2] reactor.core.publisher.Hooks : Enabling stacktrace debugging via onOperatorDebug
2018-12-10 21:41:17.003 DEBUG 31340 --- [ctor-http-nio-2] reactor.core.publisher.Hooks : Hooking onEachOperator: onOperatorDebug
2018-12-10 21:41:17.003 DEBUG 31340 --- [ctor-http-nio-2] o.s.w.r.r.m.a.ResponseBodyResultHandler : Using 'application/json;charset=UTF-8;q=0.8' given [text/html, application/xhtml+xml, image/webp, image/apng, application/xml;q=0.9, */*;q=0.8] and supported [application/json;charset=UTF-8, application/*+json;charset=UTF-8, text/event-stream]
2018-12-10 21:41:17.003 DEBUG 31340 --- [ctor-http-nio-2] o.s.w.r.r.m.a.ResponseBodyResultHandler : [7cc865b4] 0..1 [?]
2018-12-10 21:41:17.008 TRACE 31340 --- [ctor-http-nio-2] o.s.w.r.function.server.RouterFunctions : [7cc865b4] Matched org.springframework.boot.autoconfigure.web.reactive.error.DefaultErrorWebExceptionHandler$$Lambda$520/509612428@4c3d17a7
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'server.ports'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'configurationProperties'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'systemProperties'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'systemEnvironment'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'random'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'applicationConfig: [classpath:/application.yml]'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Could not find key 'spring.template.provider.cache' in any property source
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'server.ports'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'configurationProperties'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'systemProperties'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'systemEnvironment'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'random'
2018-12-10 21:41:17.009 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'applicationConfig: [classpath:/application.yml]'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Could not find key 'spring.template.provider.cache' in any property source
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'server.ports'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'configurationProperties'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'systemProperties'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'systemEnvironment'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'random'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Searching for key 'spring.template.provider.cache' in PropertySource 'applicationConfig: [classpath:/application.yml]'
2018-12-10 21:41:17.010 TRACE 31340 --- [ctor-http-nio-2] o.s.c.e.PropertySourcesPropertyResolver : Could not find key 'spring.template.provider.cache' in any property source
2018-12-10 21:41:17.010 DEBUG 31340 --- [ctor-http-nio-2] .a.w.r.e.DefaultErrorWebExceptionHandler : [7cc865b4] Resolved [IllegalArgumentException: error] for HTTP GET /test
2018-12-10 21:41:17.011 TRACE 31340 --- [ctor-http-nio-2] o.s.core.codec.CharSequenceEncoder : [7cc865b4] Writing "<html><body><h1>Whitelabel Error Page</h1><p>This application has no configured error view, so you are seeing this as a fallback.</p><div id='created'>Mon Dec 10 21:41:17 CST 2018</div><div>There was an unexpected error (type=Internal Server Error, status=500).</div><div>error</div></body></html>"
2018-12-10 21:41:17.011 DEBUG 31340 --- [ctor-http-nio-2] r.n.channel.ChannelOperationsHandler : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Writing object DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Content-Length: 297
2018-12-10 21:41:17.011 DEBUG 31340 --- [ctor-http-nio-2] r.n.channel.ChannelOperationsHandler : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Writing object
2018-12-10 21:41:17.011 TRACE 31340 --- [ctor-http-nio-2] r.n.channel.ChannelOperationsHandler : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Pending write size = 297
2018-12-10 21:41:17.012 TRACE 31340 --- [ctor-http-nio-2] o.s.w.s.adapter.HttpWebHandlerAdapter : [7cc865b4] Completed 500 INTERNAL_SERVER_ERROR, headers={masked}
2018-12-10 21:41:17.012 TRACE 31340 --- [ctor-http-nio-2] o.s.h.s.r.ReactorHttpHandlerAdapter : [7cc865b4] Handling completed
2018-12-10 21:41:17.012 DEBUG 31340 --- [ctor-http-nio-2] r.n.http.server.HttpServerOperations : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Last HTTP response frame
2018-12-10 21:41:17.012 DEBUG 31340 --- [ctor-http-nio-2] r.n.channel.ChannelOperationsHandler : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Writing object EmptyLastHttpContent
2018-12-10 21:41:17.012 DEBUG 31340 --- [ctor-http-nio-2] r.n.http.server.HttpServerOperations : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Decreasing pending responses, now 0
2018-12-10 21:41:17.013 TRACE 31340 --- [ctor-http-nio-2] reactor.netty.channel.ChannelOperations : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] Disposing ChannelOperation from a channel
java.lang.Exception: ChannelOperation terminal stack
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:363) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.http.server.HttpServerOperations.cleanHandlerTerminate(HttpServerOperations.java:509) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.http.server.HttpTrafficHandler.operationComplete(HttpTrafficHandler.java:297) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.http.server.HttpTrafficHandler.operationComplete(HttpTrafficHandler.java:54) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) [netty-common-4.1.31.Final.jar:4.1.31.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) [netty-common-4.1.31.Final.jar:4.1.31.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) [netty-common-4.1.31.Final.jar:4.1.31.Final]
at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:103) [netty-common-4.1.31.Final.jar:4.1.31.Final]
at io.netty.util.internal.PromiseNotificationUtil.trySuccess(PromiseNotificationUtil.java:48) [netty-common-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.ChannelOutboundBuffer.safeSuccess(ChannelOutboundBuffer.java:696) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:258) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.AbstractNioByteChannel.doWriteInternal(AbstractNioByteChannel.java:216) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.AbstractNioByteChannel.doWrite0(AbstractNioByteChannel.java:209) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.socket.nio.NioSocketChannel.doWrite(NioSocketChannel.java:397) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:934) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.flush0(AbstractNioChannel.java:360) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:901) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1396) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.flush(CombinedChannelDuplexHandler.java:533) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.CombinedChannelDuplexHandler.flush(CombinedChannelDuplexHandler.java:358) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at reactor.netty.channel.ChannelOperationsHandler.doWrite(ChannelOperationsHandler.java:283) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.channel.ChannelOperationsHandler.drain(ChannelOperationsHandler.java:465) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.channel.ChannelOperationsHandler.flush(ChannelOperationsHandler.java:194) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:802) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:814) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:794) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:837) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.DefaultChannelPipeline.writeAndFlush(DefaultChannelPipeline.java:1071) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannel.writeAndFlush(AbstractChannel.java:300) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at reactor.netty.http.server.HttpServerOperations.onOutboundComplete(HttpServerOperations.java:487) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.channel.ChannelOperations.onComplete(ChannelOperations.java:191) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:383) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:321) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:383) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onComplete(FluxPeekFuseable.java:578) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:383) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.Operators$MonoSubscriber.onComplete(Operators.java:1516) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoIgnoreThen$ThenAcceptInner.onComplete(MonoIgnoreThen.java:314) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.FluxOnAssembly$OnAssemblySubscriber.onComplete(FluxOnAssembly.java:383) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.Operators.complete(Operators.java:131) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:45) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoOnAssembly.subscribe(MonoOnAssembly.java:76) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.drain(MonoIgnoreThen.java:153) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:56) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoOnAssembly.subscribe(MonoOnAssembly.java:71) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoPeekFuseable.subscribe(MonoPeekFuseable.java:70) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoOnAssembly.subscribe(MonoOnAssembly.java:71) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoPeekTerminal.subscribe(MonoPeekTerminal.java:61) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.core.publisher.MonoOnAssembly.subscribe(MonoOnAssembly.java:76) [reactor-core-3.2.3.RELEASE.jar:3.2.3.RELEASE]
at reactor.netty.http.server.HttpServerHandle.onStateChange(HttpServerHandle.java:64) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.tcp.TcpServerBind$ChildObserver.onStateChange(TcpServerBind.java:226) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:434) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:141) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:159) [reactor-netty-0.8.3.RELEASE.jar:0.8.3.RELEASE]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:323) [netty-codec-4.1.31.Final.jar:4.1.31.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:297) [netty-codec-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:648) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:583) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) [netty-transport-4.1.31.Final.jar:4.1.31.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) [netty-common-4.1.31.Final.jar:4.1.31.Final]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_192]
2018-12-10 21:41:17.013 DEBUG 31340 --- [ctor-http-nio-2] r.n.channel.ChannelOperationsHandler : [id: 0x7cc865b4, L:/0:0:0:0:0:0:0:1:8080 - R:/0:0:0:0:0:0:0:1:52638] No ChannelOperation attached. Dropping: EmptyLastHttpContent
最佳答案
在 react 器中,Hooks.onOperatorDebug()
在执行期间检测 Reactor 运算符以收集有关当前堆栈的更多信息。这具有性能成本,不应在生产中进行。这是一个静态调用,每次 JVM 执行只需要执行一次,因此无需为每个 Controller 调用重复它。使用 Spring Boot,这是自动为您完成的,因为您拥有 spring-boot-devtools
对类路径的依赖。
从 Spring Boot 2.1 开始,您可以通过 setting to DEBUG
the web
logging group 获得更好的 Web 相关操作日志,所以 logging.level.web=debug
.这将记录有关 Web 请求处理的有用信息。
在您的情况下,您似乎还缺少有关 Reactor 管道执行的信息。在这种情况下,您应该add log()
operators在您的管道中了解哪些信号正在通过您的管道。
在这个特定的代码片段中,我看到了几件事:
String a
方法参数似乎很奇怪,因为它没有与从传入请求中获取数据的注释相结合,例如 @RequestParam
Mono.zipWith(Mono)
运算符在这里没有意义;结果将始终是带有 IllegalArgumentException
的错误信号.因此,预计 Spring Boot 错误处理会处理该异常并呈现 HTML 错误页面 关于spring-boot - 如何在 webflux 中调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53706802/
昨晚我因为这个问题脑子崩溃了。在确保没有来 self 的 eclipse 错误检查的明显错误之后,我开始调试我的程序。顺便说一下,我正在使用 Jre7。无论如何,每次我进入我的类调用(我们称之为“a”
(前言:我对 C/C++ 还很陌生,我真的不知道 native 代码中的调试实际上是如何工作的。) 一些消息来源说 gdb 和 lldb 可以调试 any program compiled to ma
我正在尝试从 Visual Studio 2012 外部调试 T4Scaffolding.Core Nuget 包。我使用的是安装了 Powershell 3.0 的 Powershell ISE,并
如何调试汇编代码?我在 Linux 上使用 gdb。我知道我可以看寄存器。有哪些调试汇编代码的方法? 最佳答案 您当然可以使用 breakpoints就像 C 或任何其他编译语言一样。 This ar
如何在每次通话时打印列表或 haskell 中的内容,例如: funct a list = funct (a + 1) (a : list) print list her
让我用我对 Makefiles 或 make 知之甚少的评论作为这个问题的前缀。 有一个非常大的项目,每晚自动构建。它以 Debug 和 Release 模式构建,Debug 用于 Valgrind
我正在创建一个计算每周工资的程序,那么任何加类工资都是该周正常工资的 1.5 倍。我的代码如下: #include int main() { double payrate; double h
我使用的是 Visual Studio 2010 Express Developer 版本。开发网站。我在我的 .aspx 页面中使用 JavaScript。 如何在 Javascript 中放置断点
我最近开始修补 Project Euler 问题,并尝试用 Javascript 解决它们。这样做我往往会产生许多无限循环,现在我想知道是否有比终止 Firefox 或 Chrome 中的选项卡更好的
有没有办法在程序执行期间生成一个交互式 python 控制台(最好是 iPython)而不暂停主程序并且能够检查和修改程序变量?类似于浏览器为 JavaScript 提供的功能。 我知道 pdb.se
我正在使用 FFmpeg @ Android 并希望能够进入 FFmpeg 代码(Eclipse + Seqouya),同时编译 FFmpeg 我使用 --disable-stripping --en
我从使用互操作调用 win32 api 函数的 .net 进程中得到一个异常。 我有一个调试器,我想查看 LastError 的值。 是否可以从 Visual Studio 调试器中查看 LastEr
我正在尝试通过 VBA 创建一个宏,以在 IE 的多个选项卡中打开一组指定的链接。目前我正在使用下面的代码,如果我试图打开 3 个或更少的选项卡,它大部分时间都可以工作。任何超过 3 的代码都会在“N
好的,这似乎是一个愚蠢的问题,因为 MonoDevelop 越来越成熟,所以我确定我只是想念它,但我环顾四周,所有关于这个主题的问题似乎都是关于远程调试或 Mac 上的调试。 我使用的是 Ubuntu
如何调试 Rscripts是从命令行运行的? 我目前正在使用 getopt传递命令行选项的包,当有错误时,我很难: 看看到底出了什么问题; 在 R 中交互式调试(因为脚本需要命令行选项。) 有没有人有
支持 PDF 和网络上的信息很少。我碰巧在博客中看到一篇文章,提到 $.write() 或 $.writeln() 将向 javascript 控制台写入一个字符串。相当有用。有谁知道这个 $ 对象是
PyCharm 1.5 中是否可以使用 Firefox 和 Chrome 支持的 JavaScript 调试? 如果是这样,它能否与 Python/Django 调试器一起有效运行? 如果没有,有没有
我确定这以前发生在人们身上,某些东西在 Debug模式下工作,你在发布时编译,但有些东西坏了。 这发生在我在嵌入式 XP 环境中工作时,我发现最好的方法确实是编写一个日志文件来确定它会出错的地方。 您
我目前正在为即将到来的项目评估 Flow3。 AOP 模式和依赖注入(inject)将非常适合我们的目的。 现在我想不通的是如何在 Controller Action 中调试一些结果。 public
最初,我有一个包含测试服务器的 Django 应用程序。要调试此设置,我只需添加 import pdb; pdb.set_trace()代码中的任何位置,并且有一个断点将我扔到终端中的交互式调试器中(
我是一名优秀的程序员,十分优秀!