spring UndertowReactiveWebServerFactory 源码
springboot UndertowReactiveWebServerFactory 代码
文件路径:/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/embedded/undertow/UndertowReactiveWebServerFactory.java
/*
* Copyright 2012-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.web.embedded.undertow;
import java.io.File;
import java.util.Collection;
import java.util.List;
import io.undertow.Undertow;
import org.springframework.boot.web.reactive.server.AbstractReactiveWebServerFactory;
import org.springframework.boot.web.reactive.server.ReactiveWebServerFactory;
import org.springframework.boot.web.server.WebServer;
import org.springframework.http.server.reactive.UndertowHttpHandlerAdapter;
/**
* {@link ReactiveWebServerFactory} that can be used to create {@link UndertowWebServer}s.
*
* @author Brian Clozel
* @since 2.0.0
*/
public class UndertowReactiveWebServerFactory extends AbstractReactiveWebServerFactory
implements ConfigurableUndertowWebServerFactory {
private UndertowWebServerFactoryDelegate delegate = new UndertowWebServerFactoryDelegate();
/**
* Create a new {@link UndertowReactiveWebServerFactory} instance.
*/
public UndertowReactiveWebServerFactory() {
}
/**
* Create a new {@link UndertowReactiveWebServerFactory} that listens for requests
* using the specified port.
* @param port the port to listen on
*/
public UndertowReactiveWebServerFactory(int port) {
super(port);
}
@Override
public void setBuilderCustomizers(Collection<? extends UndertowBuilderCustomizer> customizers) {
this.delegate.setBuilderCustomizers(customizers);
}
@Override
public void addBuilderCustomizers(UndertowBuilderCustomizer... customizers) {
this.delegate.addBuilderCustomizers(customizers);
}
/**
* Returns a mutable collection of the {@link UndertowBuilderCustomizer}s that will be
* applied to the Undertow {@link io.undertow.Undertow.Builder Builder}.
* @return the customizers that will be applied
*/
public Collection<UndertowBuilderCustomizer> getBuilderCustomizers() {
return this.delegate.getBuilderCustomizers();
}
@Override
public void setBufferSize(Integer bufferSize) {
this.delegate.setBufferSize(bufferSize);
}
@Override
public void setIoThreads(Integer ioThreads) {
this.delegate.setIoThreads(ioThreads);
}
@Override
public void setWorkerThreads(Integer workerThreads) {
this.delegate.setWorkerThreads(workerThreads);
}
@Override
public void setUseDirectBuffers(Boolean directBuffers) {
this.delegate.setUseDirectBuffers(directBuffers);
}
@Override
public void setUseForwardHeaders(boolean useForwardHeaders) {
this.delegate.setUseForwardHeaders(useForwardHeaders);
}
protected final boolean isUseForwardHeaders() {
return this.delegate.isUseForwardHeaders();
}
@Override
public void setAccessLogDirectory(File accessLogDirectory) {
this.delegate.setAccessLogDirectory(accessLogDirectory);
}
@Override
public void setAccessLogPattern(String accessLogPattern) {
this.delegate.setAccessLogPattern(accessLogPattern);
}
@Override
public void setAccessLogPrefix(String accessLogPrefix) {
this.delegate.setAccessLogPrefix(accessLogPrefix);
}
@Override
public void setAccessLogSuffix(String accessLogSuffix) {
this.delegate.setAccessLogSuffix(accessLogSuffix);
}
public boolean isAccessLogEnabled() {
return this.delegate.isAccessLogEnabled();
}
@Override
public void setAccessLogEnabled(boolean accessLogEnabled) {
this.delegate.setAccessLogEnabled(accessLogEnabled);
}
@Override
public void setAccessLogRotate(boolean accessLogRotate) {
this.delegate.setAccessLogRotate(accessLogRotate);
}
@Override
public WebServer getWebServer(org.springframework.http.server.reactive.HttpHandler httpHandler) {
Undertow.Builder builder = this.delegate.createBuilder(this);
List<HttpHandlerFactory> httpHandlerFactories = this.delegate.createHttpHandlerFactories(this,
(next) -> new UndertowHttpHandlerAdapter(httpHandler));
return new UndertowWebServer(builder, httpHandlerFactories, getPort() >= 0);
}
}
相关信息
相关文章
spring AccessLogHttpHandlerFactory 源码
spring CompositeResourceManager 源码
spring CompressionHttpHandlerFactory 源码
spring ConfigurableUndertowWebServerFactory 源码
spring DeploymentManagerHttpHandlerFactory 源码
spring FileSessionPersistence 源码
0
赞
- 所属分类: 后端技术
- 本文标签: Spring Boot Java Spring
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦