Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
7fc345f5
Commit
7fc345f5
authored
Oct 13, 2020
by
Andy Wilkinson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Apply server.undertow.eager-filter-init to factory
Fixes gh-23675
parent
667ccdae
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
65 additions
and
5 deletions
+65
-5
ServletWebServerFactoryConfiguration.java
...ure/web/servlet/ServletWebServerFactoryConfiguration.java
+8
-1
UndertowServletWebServerFactoryCustomizer.java
...eb/servlet/UndertowServletWebServerFactoryCustomizer.java
+2
-3
ServletWebServerFactoryAutoConfigurationTests.java
...ervlet/ServletWebServerFactoryAutoConfigurationTests.java
+12
-1
UndertowServletWebServerFactoryCustomizerTests.java
...rvlet/UndertowServletWebServerFactoryCustomizerTests.java
+43
-0
No files found.
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryConfiguration.java
View file @
7fc345f5
/*
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
20
the original author or authors.
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* you may not use this file except in compliance with the License.
...
@@ -32,6 +32,7 @@ import org.springframework.beans.factory.ObjectProvider;
...
@@ -32,6 +32,7 @@ import org.springframework.beans.factory.ObjectProvider;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnClass
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
;
import
org.springframework.boot.autoconfigure.condition.SearchStrategy
;
import
org.springframework.boot.autoconfigure.condition.SearchStrategy
;
import
org.springframework.boot.autoconfigure.web.ServerProperties
;
import
org.springframework.boot.web.embedded.jetty.JettyServerCustomizer
;
import
org.springframework.boot.web.embedded.jetty.JettyServerCustomizer
;
import
org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory
;
import
org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory
;
import
org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer
;
import
org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer
;
...
@@ -121,6 +122,12 @@ class ServletWebServerFactoryConfiguration {
...
@@ -121,6 +122,12 @@ class ServletWebServerFactoryConfiguration {
return
factory
;
return
factory
;
}
}
@Bean
UndertowServletWebServerFactoryCustomizer
undertowServletWebServerFactoryCustomizer
(
ServerProperties
serverProperties
)
{
return
new
UndertowServletWebServerFactoryCustomizer
(
serverProperties
);
}
}
}
}
}
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/servlet/UndertowServletWebServerFactoryCustomizer.java
View file @
7fc345f5
/*
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
20
the original author or authors.
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* you may not use this file except in compliance with the License.
...
@@ -38,8 +38,7 @@ public class UndertowServletWebServerFactoryCustomizer
...
@@ -38,8 +38,7 @@ public class UndertowServletWebServerFactoryCustomizer
@Override
@Override
public
void
customize
(
UndertowServletWebServerFactory
factory
)
{
public
void
customize
(
UndertowServletWebServerFactory
factory
)
{
factory
.
addDeploymentInfoCustomizers
((
deploymentInfo
)
->
deploymentInfo
factory
.
setEagerInitFilters
(
this
.
serverProperties
.
getUndertow
().
isEagerFilterInit
());
.
setEagerFilterInit
(
this
.
serverProperties
.
getUndertow
().
isEagerFilterInit
()));
}
}
}
}
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfigurationTests.java
View file @
7fc345f5
/*
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
20
the original author or authors.
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* you may not use this file except in compliance with the License.
...
@@ -243,6 +243,17 @@ class ServletWebServerFactoryAutoConfigurationTests {
...
@@ -243,6 +243,17 @@ class ServletWebServerFactoryAutoConfigurationTests {
});
});
}
}
@Test
void
undertowServletWebServerFactoryCustomizerIsAutoConfigured
()
{
WebApplicationContextRunner
runner
=
new
WebApplicationContextRunner
(
AnnotationConfigServletWebServerApplicationContext:
:
new
)
.
withClassLoader
(
new
FilteredClassLoader
(
Tomcat
.
class
,
HttpServer
.
class
,
Server
.
class
))
.
withConfiguration
(
AutoConfigurations
.
of
(
ServletWebServerFactoryAutoConfiguration
.
class
))
.
withUserConfiguration
(
UndertowBuilderCustomizerConfiguration
.
class
)
.
withPropertyValues
(
"server.port:0"
);
runner
.
run
((
context
)
->
assertThat
(
context
).
hasSingleBean
(
UndertowServletWebServerFactoryCustomizer
.
class
));
}
@Test
@Test
void
tomcatConnectorCustomizerBeanIsAddedToFactory
()
{
void
tomcatConnectorCustomizerBeanIsAddedToFactory
()
{
WebApplicationContextRunner
runner
=
new
WebApplicationContextRunner
(
WebApplicationContextRunner
runner
=
new
WebApplicationContextRunner
(
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/servlet/UndertowServletWebServerFactoryCustomizerTests.java
0 → 100644
View file @
7fc345f5
/*
* 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
.
autoconfigure
.
web
.
servlet
;
import
org.junit.jupiter.api.Test
;
import
org.springframework.boot.autoconfigure.web.ServerProperties
;
import
org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
* Tests for {@link UndertowServletWebServerFactoryCustomizer}
*
* @author Andy Wilkinson
*/
class
UndertowServletWebServerFactoryCustomizerTests
{
@Test
void
eagerFilterInitCanBeDisabled
()
{
UndertowServletWebServerFactory
factory
=
new
UndertowServletWebServerFactory
(
0
);
assertThat
(
factory
.
isEagerInitFilters
()).
isTrue
();
ServerProperties
serverProperties
=
new
ServerProperties
();
serverProperties
.
getUndertow
().
setEagerFilterInit
(
false
);
new
UndertowServletWebServerFactoryCustomizer
(
serverProperties
).
customize
(
factory
);
assertThat
(
factory
.
isEagerInitFilters
()).
isFalse
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment