Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
a760dac
chore(deps): update Spring Boot and Spring Cloud versions to RC releases
SteKoe Nov 14, 2025
a45ea34
chore: update imported package names
SteKoe Nov 14, 2025
ccbff6c
chore: update dependencies and refactor imports for Jackson library a…
SteKoe Nov 14, 2025
0b09364
chore: compile ready
SteKoe Nov 14, 2025
52fe51a
chore: fix code style
SteKoe Nov 14, 2025
30958e1
chore: fix tests in server module
SteKoe Nov 14, 2025
27c47ff
chore: "fix" tests in server client
SteKoe Nov 15, 2025
14f1d89
chore: update Spring Boot version to 4.0.0
andreasfritz Nov 21, 2025
55867bb
chore: update Spring Cloud version to 2025.1.0
andreasfritz Nov 28, 2025
cb18976
chore: update instance registration in AdminApplicationDiscoveryTest
andreasfritz Nov 28, 2025
a7a05b3
chore: fix InstancesProxyControllerIntegrationTest
SteKoe Nov 28, 2025
b135c4f
fix AdminApplicationDiscoveryTest - instanceProps.setServiceId("Test-…
andreasfritz Dec 5, 2025
a22a280
fix AdminServerDiscoveryAutoConfigurationTest - .withBean(DiscoveryCl…
andreasfritz Dec 5, 2025
d10af3a
test: improve timing in InfoUpdateTriggerTest for event updates
SteKoe Dec 5, 2025
90cd3bc
Fix flaky tests
ulischulte Dec 5, 2025
9470a8a
Fixed flaky IntervalCheckTest by addressing test isolation issues
ulischulte Dec 5, 2025
c487cdc
Configure higher response timeout than 5s default in webTestClient. T…
ulischulte Dec 5, 2025
04e4c29
preventing blocking call deadlocks in thread-constrained CI environme…
ulischulte Dec 5, 2025
9614afe
increased timeout
ulischulte Dec 5, 2025
e40d099
use blockhound to detect blocking calls in reactive threads and work …
ulischulte Dec 5, 2025
6e5c19e
downgrade to 2.1.0 until a compatible version is released
andreasfritz Dec 5, 2025
942ad40
Merge branch 'master' into spring-boot-4
andreasfritz Dec 5, 2025
35e9f52
use blockhound to detect blocking calls in reactive threads in ci pip…
ulischulte Dec 5, 2025
3e998f0
favour StepVerifier when testing potentially blocking calls in reacti…
ulischulte Dec 5, 2025
a7e8c2d
refactor: remove spring-boot-starter-classic and use new modular star…
andreasfritz Dec 12, 2025
40b5e02
refactor: remove optional spring-boot-starter-web dependency from pom…
andreasfritz Dec 12, 2025
f21cc5a
chore(deps): update dependency vite to v7.2.6 (#4897)
renovate[bot] Dec 6, 2025
41bd115
chore(deps): update typescript-eslint monorepo to v8.48.1 (#4898)
renovate[bot] Dec 7, 2025
e9d0d80
chore(deps): update storybook monorepo to v10.1.3 (#4899)
renovate[bot] Dec 7, 2025
57e0a36
chore(deps): update dependency vitest to v4.0.15 (#4900)
renovate[bot] Dec 7, 2025
559091a
chore(deps): update dependency prettier to v3.7.4 (#4901)
renovate[bot] Dec 8, 2025
6db4b5c
chore(deps): update storybook monorepo to v10.1.4 (#4902)
renovate[bot] Dec 8, 2025
a20b7d2
chore(deps): update dependency @primevue/core to v4.5.1 (#4903)
renovate[bot] Dec 8, 2025
302af14
chore(deps): update dependency esbuild to v0.27.1 (#4904)
renovate[bot] Dec 9, 2025
47d0766
chore(deps): update dependency msw to v2.12.4 (#4905)
renovate[bot] Dec 9, 2025
5ef1235
chore(deps): update dependency primevue to v4.5.1 (#4907)
renovate[bot] Dec 9, 2025
b46581c
fix(deps): update dependency @primevue/forms to v4.5.1 (#4908)
renovate[bot] Dec 9, 2025
4212f51
fix(deps): update react monorepo to v19.2.1 (#4910)
renovate[bot] Dec 9, 2025
b06e2d2
chore(deps): update jamesives/github-pages-deploy-action action to v4…
renovate[bot] Dec 9, 2025
7bce00c
chore(deps): update jamesives/github-pages-deploy-action action to v4…
renovate[bot] Dec 10, 2025
0c42565
use blockhound to detect blocking calls in reactive threads and work …
ulischulte Dec 5, 2025
916c20b
wip: using unique version for springboot-4 migration based on 3.5.2
Aug 7, 2025
6b3b579
wip: using unique version for springboot-4 migration based on 3.5.2
Aug 7, 2025
8236b87
ip: first version which compiles and no checkstyle warnings
Aug 9, 2025
0fe8668
fix: add .checkstyle from eclipse to .gitignore
Aug 9, 2025
3507091
test: Could not find class [org.springframework.boot.mail.autoconfigu…
Aug 10, 2025
e71347f
test: try to fix endless hanging test
Aug 10, 2025
ae36b69
test: Could not find class [org.springframework.boot.mail.autoconfigu…
Aug 10, 2025
cbbd165
wip: restclient vs. webclient
Aug 11, 2025
256aa7f
wip: using unique version for springboot-4 migration based on 3.5.2
Aug 7, 2025
f27f5f5
wip: using unique version for springboot-4 migration based on 3.5.2
Aug 7, 2025
fd5dc29
wip: first version which compiles and no checkstyle warnings
Aug 9, 2025
b0a4cd0
wip: restclient vs. webclient
Aug 11, 2025
5c437e6
wip: move on to springboot 4.0.0-M3 and springcloud 2025.1.0-M2
Oct 3, 2025
4aea2b1
wip: more code-formatting cleanups (final removed)
Oct 3, 2025
c207b61
fix: some compiler issues after rebase
Nov 28, 2025
b260a77
wip: still a snapshot :-)
Nov 28, 2025
15d5c5f
Fix merge error in spring-boot-admin-server/src/test/java/de/codecent…
Dec 21, 2025
85da481
Fix merge error (post-rebase)
Dec 21, 2025
b41c841
refactor: remove unused ProjectReactor BlockHound configuration
Dec 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ jobs:
run: ./mvnw -B --no-transfer-progress site

- name: Deploy documentation to GitHub Pages
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
with:
branch: gh-pages
folder: spring-boot-admin-docs/target/generated-docs/build
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy-documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@ jobs:
run: ./mvnw -B --no-transfer-progress -pl spring-boot-admin-docs site

- name: Deploy documentation to GitHub Pages
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
with:
branch: gh-pages
folder: spring-boot-admin-docs/target/generated-docs/build
target-folder: ${{ github.event.inputs.releaseversion }}
clean: true

- name: Deploy redirect for /current to /${{ github.event.inputs.releaseversion }}
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
if: github.event.inputs.copyDocsToCurrent == 'true'
with:
branch: gh-pages
Expand All @@ -67,7 +67,7 @@ jobs:
clean: true

- name: Deploy deeplink redirect for /current/* to /${{ github.event.inputs.releaseversion }}/*
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
if: github.event.inputs.copyDocsToCurrent == 'true'
with:
branch: gh-pages
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-to-maven-central.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,15 +78,15 @@ jobs:
run: ./mvnw -B --no-transfer-progress -pl spring-boot-admin-docs site

- name: Deploy documentation to GitHub Pages for version ${{ github.event.inputs.releaseversion }}
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
with:
branch: gh-pages
folder: spring-boot-admin-docs/target/generated-docs/build
target-folder: ${{ github.event.inputs.releaseversion }}
clean: true

- name: Deploy redirect for /current to /${{ github.event.inputs.releaseversion }}
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
if: github.event.inputs.copyDocsToCurrent == 'true'
with:
branch: gh-pages
Expand All @@ -95,7 +95,7 @@ jobs:
clean: true

- name: Deploy deeplink redirect for /current/* to /${{ github.event.inputs.releaseversion }}/*
uses: JamesIves/[email protected].4
uses: JamesIves/[email protected].6
if: github.event.inputs.copyDocsToCurrent == 'true'
with:
branch: gh-pages
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ target/
.project
.factorypath
.apt_generated/
.checkstyle

# Intellij
.idea/
Expand All @@ -28,3 +29,4 @@ node/

.DS_Store
mockServiceWorker.js
/.github/agents/
11 changes: 6 additions & 5 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@
<url>https://github.com/codecentric/spring-boot-admin/</url>

<properties>
<revision>3.5.7-SNAPSHOT</revision>
<revision>4.0.0-M1-SNAPSHOT</revision>

<java.version>17</java.version>
<node.version>v22.12.0</node.version>
<node.version>v22.14.0</node.version>

<require.maven.version>3.9</require.maven.version>

Expand All @@ -47,10 +47,11 @@
<maven.site.skip>true</maven.site.skip>

<!-- used dependencies versions -->
<spring-boot.version>3.5.8</spring-boot.version>
<spring-cloud.version>2025.0.0</spring-cloud.version>
<spring-boot.version>4.0.0</spring-boot.version>
<spring-cloud.version>2025.1.0</spring-cloud.version>

<jolokia-support-spring.version>2.4.2</jolokia-support-spring.version>
<!-- FIXME downgrade to 2.1.0 until a compatible version is released -->
<jolokia-support-spring.version>2.1.0</jolokia-support-spring.version>

<checkstyle.version>12.2.0</checkstyle.version>
<findbugs-jsr305.version>3.0.2</findbugs-jsr305.version>
Expand Down
60 changes: 50 additions & 10 deletions spring-boot-admin-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,42 +41,77 @@
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-restclient</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-restclient</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-webclient</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<artifactId>spring-boot-starter-webmvc</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webflux</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webmvc</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<artifactId>spring-boot-starter-webmvc</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<artifactId>spring-boot-autoconfigure-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -89,5 +124,10 @@
<artifactId>awaitility</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.springframework.aot.hint.MemberCategory;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.boot.web.server.context.WebServerInitializedEvent;
import org.springframework.context.annotation.Configuration;

import de.codecentric.boot.admin.client.registration.Application;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,18 @@
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration;
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
import org.springframework.boot.autoconfigure.web.reactive.WebFluxProperties;
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletAutoConfiguration;
import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.http.client.ClientHttpRequestFactoryBuilder;
import org.springframework.boot.http.client.ClientHttpRequestFactorySettings;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.boot.http.client.HttpClientSettings;
import org.springframework.boot.restclient.RestTemplateBuilder;
import org.springframework.boot.restclient.autoconfigure.RestClientAutoConfiguration;
import org.springframework.boot.restclient.autoconfigure.RestTemplateAutoConfiguration;
import org.springframework.boot.web.server.autoconfigure.ServerProperties;
import org.springframework.boot.webclient.autoconfigure.WebClientAutoConfiguration;
import org.springframework.boot.webflux.autoconfigure.WebFluxProperties;
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletAutoConfiguration;
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletPath;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
Expand All @@ -64,7 +65,6 @@
import de.codecentric.boot.admin.client.registration.metadata.MetadataContributor;
import de.codecentric.boot.admin.client.registration.metadata.StartupDateMetadataContributor;

import static org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication.Type;
import static org.springframework.web.reactive.function.client.ExchangeFilterFunctions.basicAuthentication;

@Configuration(proxyBeanMethods = false)
Expand Down Expand Up @@ -159,22 +159,25 @@ public RegistrationClient registrationClient(ClientProperties client) {
}

@Configuration(proxyBeanMethods = false)
@ConditionalOnBean({ RestClient.Builder.class, ClientHttpRequestFactoryBuilder.class })
@ConditionalOnBean(RestClient.Builder.class)
public static class RestClientRegistrationClientConfig {

@Bean
@ConditionalOnMissingBean
public RegistrationClient registrationClient(ClientProperties client, RestClient.Builder restClientBuilder,
ClientHttpRequestFactoryBuilder<?> clientHttpRequestFactoryBuilder) {
var factorySettings = ClientHttpRequestFactorySettings.defaults()
public RegistrationClient registrationClient(ClientProperties client, RestClient.Builder restClientBuilder) {
var factorySettings = HttpClientSettings.defaults()
.withConnectTimeout(client.getConnectTimeout())
.withReadTimeout(client.getReadTimeout());
var clientHttpRequestFactory = clientHttpRequestFactoryBuilder.build(factorySettings);

var clientHttpRequestFactory = ClientHttpRequestFactoryBuilder.detect().build(factorySettings);

restClientBuilder = restClientBuilder.requestFactory(clientHttpRequestFactory);

if (client.getUsername() != null && client.getPassword() != null) {
restClientBuilder = restClientBuilder
.requestInterceptor(new BasicAuthenticationInterceptor(client.getUsername(), client.getPassword()));
}

var restClient = restClientBuilder.build();
return new RestClientRegistrationClient(restClient);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@
import org.springframework.boot.autoconfigure.condition.ConditionalOnCloudPlatform;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.cloud.CloudPlatform;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.server.autoconfigure.ServerProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
import org.springframework.boot.restclient.autoconfigure.RestTemplateAutoConfiguration;
import org.springframework.boot.webclient.autoconfigure.WebClientAutoConfiguration;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportRuntimeHints;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.web.server.autoconfigure.ServerProperties;
import org.springframework.util.StringUtils;

import de.codecentric.boot.admin.client.config.CloudFoundryApplicationProperties;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.EndpointId;
import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.boot.web.server.Ssl;
import org.springframework.boot.web.server.autoconfigure.ServerProperties;
import org.springframework.boot.web.server.context.WebServerInitializedEvent;
import org.springframework.context.event.EventListener;
import org.springframework.lang.Nullable;
import org.springframework.util.StringUtils;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.autoconfigure.web.reactive.WebFluxProperties;
import org.springframework.boot.web.server.Ssl;
import org.springframework.boot.web.server.autoconfigure.ServerProperties;
import org.springframework.boot.webflux.autoconfigure.WebFluxProperties;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UriComponentsBuilder;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementServerProperties;
import org.springframework.boot.actuate.endpoint.web.PathMappedEndpoints;
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.autoconfigure.web.servlet.DispatcherServletPath;
import org.springframework.boot.web.server.Ssl;
import org.springframework.boot.web.server.autoconfigure.ServerProperties;
import org.springframework.boot.webmvc.autoconfigure.DispatcherServletPath;
import org.springframework.util.StringUtils;
import org.springframework.web.util.UriComponentsBuilder;

Expand Down Expand Up @@ -55,8 +55,8 @@ public ServletApplicationFactory(InstanceProperties instance, ManagementServerPr

@Override
protected String getServiceUrl() {
if (instance.getServiceUrl() != null) {
return instance.getServiceUrl();
if (this.instance.getServiceUrl() != null) {
return this.instance.getServiceUrl();
}

return UriComponentsBuilder.fromUriString(getServiceBaseUrl())
Expand All @@ -67,7 +67,7 @@ protected String getServiceUrl() {

@Override
protected String getManagementBaseUrl() {
String baseUrl = instance.getManagementBaseUrl();
String baseUrl = this.instance.getManagementBaseUrl();

if (StringUtils.hasText(baseUrl)) {
return baseUrl;
Expand All @@ -81,7 +81,7 @@ protected String getManagementBaseUrl() {
.toUriString();
}

Ssl ssl = (management.getSsl() != null) ? management.getSsl() : server.getSsl();
Ssl ssl = (this.management.getSsl() != null) ? this.management.getSsl() : this.server.getSsl();
return UriComponentsBuilder.newInstance()
.scheme(getScheme(ssl))
.host(getManagementHost())
Expand All @@ -91,11 +91,11 @@ protected String getManagementBaseUrl() {
}

protected String getManagementContextPath() {
return management.getBasePath();
return this.management.getBasePath();
}

protected String getServerContextPath() {
return servletContext.getContextPath();
return this.servletContext.getContextPath();
}

protected String getDispatcherServletPrefix() {
Expand Down
Loading