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
a196a9bd
Commit
a196a9bd
authored
Jan 20, 2021
by
Phillip Webb
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.4.x'
Closes gh-24949
parents
4c2a7db4
69fbd2f8
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
87 additions
and
12 deletions
+87
-12
CompositeHandlerMapping.java
...te/autoconfigure/web/servlet/CompositeHandlerMapping.java
+19
-5
AbstractManagementPortAndPathSampleActuatorApplicationTests.java
...tManagementPortAndPathSampleActuatorApplicationTests.java
+3
-7
ManagementPortAndPathWithAntPatcherSampleActuatorApplicationTests.java
...tAndPathWithAntPatcherSampleActuatorApplicationTests.java
+32
-0
ManagementPortAndPathWithPathMatcherSampleActuatorApplicationTests.java
...AndPathWithPathMatcherSampleActuatorApplicationTests.java
+33
-0
No files found.
spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/web/servlet/CompositeHandlerMapping.java
View file @
a196a9bd
/*
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
21
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.
...
@@ -43,10 +43,7 @@ class CompositeHandlerMapping implements HandlerMapping {
...
@@ -43,10 +43,7 @@ class CompositeHandlerMapping implements HandlerMapping {
@Override
@Override
public
HandlerExecutionChain
getHandler
(
HttpServletRequest
request
)
throws
Exception
{
public
HandlerExecutionChain
getHandler
(
HttpServletRequest
request
)
throws
Exception
{
if
(
this
.
mappings
==
null
)
{
for
(
HandlerMapping
mapping
:
getMappings
())
{
this
.
mappings
=
extractMappings
();
}
for
(
HandlerMapping
mapping
:
this
.
mappings
)
{
HandlerExecutionChain
handler
=
mapping
.
getHandler
(
request
);
HandlerExecutionChain
handler
=
mapping
.
getHandler
(
request
);
if
(
handler
!=
null
)
{
if
(
handler
!=
null
)
{
return
handler
;
return
handler
;
...
@@ -55,6 +52,23 @@ class CompositeHandlerMapping implements HandlerMapping {
...
@@ -55,6 +52,23 @@ class CompositeHandlerMapping implements HandlerMapping {
return
null
;
return
null
;
}
}
@Override
public
boolean
usesPathPatterns
()
{
for
(
HandlerMapping
mapping
:
getMappings
())
{
if
(
mapping
.
usesPathPatterns
())
{
return
true
;
}
}
return
false
;
}
private
List
<
HandlerMapping
>
getMappings
()
{
if
(
this
.
mappings
==
null
)
{
this
.
mappings
=
extractMappings
();
}
return
this
.
mappings
;
}
private
List
<
HandlerMapping
>
extractMappings
()
{
private
List
<
HandlerMapping
>
extractMappings
()
{
List
<
HandlerMapping
>
list
=
new
ArrayList
<>(
this
.
beanFactory
.
getBeansOfType
(
HandlerMapping
.
class
).
values
());
List
<
HandlerMapping
>
list
=
new
ArrayList
<>(
this
.
beanFactory
.
getBeansOfType
(
HandlerMapping
.
class
).
values
());
list
.
remove
(
this
);
list
.
remove
(
this
);
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementPortAndPathSampleActuatorApplicationTests.java
→
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/
Abstract
ManagementPortAndPathSampleActuatorApplicationTests.java
View file @
a196a9bd
/*
/*
* Copyright 2012-20
19
the original author or authors.
* Copyright 2012-20
21
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.
...
@@ -22,8 +22,6 @@ import org.junit.jupiter.api.Test;
...
@@ -22,8 +22,6 @@ import org.junit.jupiter.api.Test;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort
;
import
org.springframework.boot.actuate.autoconfigure.web.server.LocalManagementPort
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest.WebEnvironment
;
import
org.springframework.boot.test.web.client.TestRestTemplate
;
import
org.springframework.boot.test.web.client.TestRestTemplate
;
import
org.springframework.boot.web.server.LocalServerPort
;
import
org.springframework.boot.web.server.LocalServerPort
;
import
org.springframework.core.env.Environment
;
import
org.springframework.core.env.Environment
;
...
@@ -33,13 +31,11 @@ import org.springframework.http.ResponseEntity;
...
@@ -33,13 +31,11 @@ import org.springframework.http.ResponseEntity;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
import
static
org
.
assertj
.
core
.
api
.
Assertions
.
assertThat
;
/**
/**
*
Integration tests for
separate management and main service ports.
*
Base class for integration tests with
separate management and main service ports.
*
*
* @author Dave Syer
* @author Dave Syer
*/
*/
@SpringBootTest
(
webEnvironment
=
WebEnvironment
.
RANDOM_PORT
,
properties
=
{
"management.server.port=0"
,
abstract
class
AbstractManagementPortAndPathSampleActuatorApplicationTests
{
"management.endpoints.web.base-path=/admin"
,
"management.endpoint.health.show-details=never"
})
class
ManagementPortAndPathSampleActuatorApplicationTests
{
@LocalServerPort
@LocalServerPort
private
int
port
;
private
int
port
;
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementPortAndPathWithAntPatcherSampleActuatorApplicationTests.java
0 → 100644
View file @
a196a9bd
/*
* Copyright 2012-2021 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
smoketest
.
actuator
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest.WebEnvironment
;
/**
* Integration tests for separate management and main service ports.
*
* @author Dave Syer
*/
@SpringBootTest
(
webEnvironment
=
WebEnvironment
.
RANDOM_PORT
,
properties
=
{
"management.server.port=0"
,
"management.endpoints.web.base-path=/admin"
,
"management.endpoint.health.show-details=never"
})
class
ManagementPortAndPathWithAntPatcherSampleActuatorApplicationTests
extends
AbstractManagementPortAndPathSampleActuatorApplicationTests
{
}
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/ManagementPortAndPathWithPathMatcherSampleActuatorApplicationTests.java
0 → 100644
View file @
a196a9bd
/*
* Copyright 2012-2021 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
smoketest
.
actuator
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.boot.test.context.SpringBootTest.WebEnvironment
;
/**
* Integration tests for separate management and main service ports.
*
* @author Dave Syer
*/
@SpringBootTest
(
webEnvironment
=
WebEnvironment
.
RANDOM_PORT
,
properties
=
{
"spring.mvc.pathmatch.matching-strategy=path-pattern-parser"
,
"management.server.port=0"
,
"management.endpoints.web.base-path=/admin"
,
"management.endpoint.health.show-details=never"
})
class
ManagementPortAndPathWithPathMatcherSampleActuatorApplicationTests
extends
AbstractManagementPortAndPathSampleActuatorApplicationTests
{
}
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