Spring boot加载REACTIVE程序过程
Posted 力奋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot加载REACTIVE程序过程相关的知识,希望对你有一定的参考价值。
spring-boot通过判断含org.springframework.web.reactive.DispatcherHandler类就肯定程序类型是REACTIVE,然后加载上下文类org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext,看下面代码
private WebApplicationType deduceWebApplicationType() { if (ClassUtils.isPresent("org.springframework.web.reactive.DispatcherHandler", (ClassLoader)null) && !ClassUtils.isPresent("org.springframework.web.servlet.DispatcherServlet", (ClassLoader)null) && !ClassUtils.isPresent("org.glassfish.jersey.server.ResourceConfig", (ClassLoader)null)) { return WebApplicationType.REACTIVE; } else { String[] var1 = WEB_ENVIRONMENT_CLASSES; int var2 = var1.length; for(int var3 = 0; var3 < var2; ++var3) { String className = var1[var3]; if (!ClassUtils.isPresent(className, (ClassLoader)null)) { return WebApplicationType.NONE; } } return WebApplicationType.SERVLET; } }
WebServer在org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext创建
protected void onRefresh() { super.onRefresh(); try { this.createWebServer(); } catch (Throwable var2) { throw new ApplicationContextException("Unable to start reactive web server", var2); } }
以上是关于Spring boot加载REACTIVE程序过程的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 2. 异步 API。 CompletableFuture vs. Reactive
使用 Spring boot webflux reactive 记录未持久化到 R2DB
Spring Boot Couchbase Reactive 不支持分页
使用 Spring Security OAuth 时 Spring Boot Reactive WebClient “serverWebExchange must be null”
使用 Spring Boot WebFlux、Spring Data MongoDB Reactive 和 ReactiveMongoRepository 更新 1 个或多个特定字段 MongoDB