• Andy Wilkinson's avatar
    Use ResourceConfig customization to register endpoints with Jersey · 8f72ca65
    Andy Wilkinson authored
    Previously, actuator endpoints were registered with Jersey upon
    injection of the ResourceConfig bean into a registrar class rather than
    using a ResourceConfigCustomizer. This was done to fix a problem
    when running the Actuator on a separate port where the main application
    context's customizers were also applied to the management context,
    breaking the singleton contract for those resources. This approach
    meant that the registration could be performed at any point after the
    ResourceConfig had been created. When Jersey's configured as a Filter
    this resulted in the registration failing as the attempt was being made
    after the Filter lifecyle callbacks which make the ResourceConfig
    immutable.
    
    This commit reworks the endpoint registration to be performed using a
    ManagementContextResourceConfigCustomizer, a resource config customizer
    that's only applied to the ResourceConfig that's used by the Actuator.
    When there's a separate management context, this ResourceConfig is
    created by the Actuator's auto-configuration and the management context
    resource config customizers are applied to it during its creation. The
    main application's customizers are not applied. When the actuator is
    using the same context as the main application, this ResourceConfig is
    created by the main application. In this case a
    ResourceConfigCustomizer is defined that delegates to all
    ManagementContextResourceConfigCustomizers, allowing them to register
    the actuator endpoints with the main ResourceConfig.
    
    Fixes gh-25262
    8f72ca65
Name
Last commit
Last update
..
spring-boot-smoke-test-activemq Loading commit data...
spring-boot-smoke-test-actuator Loading commit data...
spring-boot-smoke-test-actuator-custom-security Loading commit data...
spring-boot-smoke-test-actuator-log4j2 Loading commit data...
spring-boot-smoke-test-actuator-noweb Loading commit data...
spring-boot-smoke-test-actuator-ui Loading commit data...
spring-boot-smoke-test-amqp Loading commit data...
spring-boot-smoke-test-animated-banner Loading commit data...
spring-boot-smoke-test-ant Loading commit data...
spring-boot-smoke-test-aop Loading commit data...
spring-boot-smoke-test-atmosphere Loading commit data...
spring-boot-smoke-test-batch Loading commit data...
spring-boot-smoke-test-cache Loading commit data...
spring-boot-smoke-test-data-couchbase Loading commit data...
spring-boot-smoke-test-data-elasticsearch Loading commit data...
spring-boot-smoke-test-data-jdbc Loading commit data...
spring-boot-smoke-test-data-jpa Loading commit data...
spring-boot-smoke-test-data-ldap Loading commit data...
spring-boot-smoke-test-data-mongodb Loading commit data...
spring-boot-smoke-test-data-neo4j Loading commit data...
spring-boot-smoke-test-data-r2dbc Loading commit data...
spring-boot-smoke-test-data-r2dbc-flyway Loading commit data...
spring-boot-smoke-test-data-r2dbc-liquibase Loading commit data...
spring-boot-smoke-test-data-redis Loading commit data...
spring-boot-smoke-test-data-rest Loading commit data...
spring-boot-smoke-test-data-solr Loading commit data...
spring-boot-smoke-test-devtools Loading commit data...
spring-boot-smoke-test-flyway Loading commit data...
spring-boot-smoke-test-hateoas Loading commit data...
spring-boot-smoke-test-hazelcast4 Loading commit data...
spring-boot-smoke-test-hibernate52 Loading commit data...
spring-boot-smoke-test-integration Loading commit data...
spring-boot-smoke-test-jersey Loading commit data...
spring-boot-smoke-test-jetty Loading commit data...
spring-boot-smoke-test-jetty-jsp Loading commit data...
spring-boot-smoke-test-jetty-ssl Loading commit data...
spring-boot-smoke-test-jpa Loading commit data...
spring-boot-smoke-test-jta-atomikos Loading commit data...
spring-boot-smoke-test-jta-bitronix Loading commit data...
spring-boot-smoke-test-junit-jupiter Loading commit data...
spring-boot-smoke-test-junit-vintage Loading commit data...
spring-boot-smoke-test-kafka Loading commit data...
spring-boot-smoke-test-liquibase Loading commit data...
spring-boot-smoke-test-logback Loading commit data...
spring-boot-smoke-test-oauth2-client Loading commit data...
spring-boot-smoke-test-oauth2-resource-server Loading commit data...
spring-boot-smoke-test-parent-context Loading commit data...
spring-boot-smoke-test-profile Loading commit data...
spring-boot-smoke-test-property-validation Loading commit data...
spring-boot-smoke-test-quartz Loading commit data...
spring-boot-smoke-test-reactive-oauth2-client Loading commit data...
spring-boot-smoke-test-reactive-oauth2-resource-server Loading commit data...
spring-boot-smoke-test-rsocket Loading commit data...
spring-boot-smoke-test-saml2-service-provider Loading commit data...
spring-boot-smoke-test-secure Loading commit data...
spring-boot-smoke-test-secure-jersey Loading commit data...
spring-boot-smoke-test-secure-webflux Loading commit data...
spring-boot-smoke-test-servlet Loading commit data...
spring-boot-smoke-test-session Loading commit data...
spring-boot-smoke-test-session-webflux Loading commit data...
spring-boot-smoke-test-simple Loading commit data...
spring-boot-smoke-test-test Loading commit data...
spring-boot-smoke-test-test-nomockito Loading commit data...
spring-boot-smoke-test-testng Loading commit data...
spring-boot-smoke-test-tomcat Loading commit data...
spring-boot-smoke-test-tomcat-jsp Loading commit data...
spring-boot-smoke-test-tomcat-multi-connectors Loading commit data...
spring-boot-smoke-test-tomcat-ssl Loading commit data...
spring-boot-smoke-test-traditional Loading commit data...
spring-boot-smoke-test-undertow Loading commit data...
spring-boot-smoke-test-undertow-ssl Loading commit data...
spring-boot-smoke-test-war Loading commit data...
spring-boot-smoke-test-web-freemarker Loading commit data...
spring-boot-smoke-test-web-groovy-templates Loading commit data...
spring-boot-smoke-test-web-jsp Loading commit data...
spring-boot-smoke-test-web-method-security Loading commit data...
spring-boot-smoke-test-web-mustache Loading commit data...
spring-boot-smoke-test-web-secure Loading commit data...
spring-boot-smoke-test-web-secure-custom Loading commit data...
spring-boot-smoke-test-web-secure-jdbc Loading commit data...
spring-boot-smoke-test-web-static Loading commit data...
spring-boot-smoke-test-web-ui Loading commit data...
spring-boot-smoke-test-webflux Loading commit data...
spring-boot-smoke-test-webflux-coroutines Loading commit data...
spring-boot-smoke-test-webservices Loading commit data...
spring-boot-smoke-test-websocket-jetty Loading commit data...
spring-boot-smoke-test-websocket-tomcat Loading commit data...
spring-boot-smoke-test-websocket-undertow Loading commit data...
spring-boot-smoke-test-xml Loading commit data...