복붙노트

[SPRING] 액추에이터 / 새로 고침이 스프링 부트 2.0.1에서 제공되지 않음

SPRING

액추에이터 / 새로 고침이 스프링 부트 2.0.1에서 제공되지 않음

나는 Spring-Config-Server와 Spring-Config-Client를위한 데모 프로젝트를 만들고있다.

Spring Boot 1.5.6.RELEASE에서 모든 것이 잘 동작합니다.

그러나 프로젝트를 2.0.1.RELEASE로 업그레이드 할 때 액츄에이터 끝점을 제공하지 않습니다.

1.5.6.RELEASE에서 제공되는 액추에이터 종단점

Mapped "{[/refresh || /refresh.json],methods=[POST]}"
Mapped "{[/dump || /dump.json],methods=[GET]
Mapped "{[/heapdump || /heapdump.json],methods=[GET]
Mapped "{[/autoconfig || /autoconfig.json],methods=[GET]
Mapped "{[/resume || /resume.json],methods=[POST]}"
Mapped "{[/configprops || /configprops.json],methods=[GET]
Mapped "{[/features || /features.json],methods=[GET]
Mapped "{[/loggers/{name:.*}],methods=[GET]
Mapped "{[/restart || /restart.json],methods=[POST]}"
...and many more

2.0.1.RELEASE에서 제공되는 액추에이터 종단점

Mapped "{[/actuator/health],methods=[GET]
Mapped "{[/actuator/info],methods=[GET]
Mapped "{[/actuator],methods=[GET]

pom.xml : 2.0.1.RELEASE

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RC1</spring-cloud.version>
    </properties>

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>

유일한 차이점은 1.5.6 pom이며 version과 spring-cloud.version = Dalston.SR2입니다.

누군가 제발 도와 줄 수 있니?

해결법

  1. ==============================

    1.약간의 연구 끝에 스프링 부트 2.0에 엔드 포인트가 표시되지 않는 원인을 문서별로 확인했습니다.

    약간의 연구 끝에 스프링 부트 2.0에 엔드 포인트가 표시되지 않는 원인을 문서별로 확인했습니다.

    그래서 수동으로 활성화시켜야합니다.

    application.properties 파일에 management.endpoints.web.exposure.include = *를 추가 했으므로 이제 모든 끝점이 반환됩니다.

    참고 : .yml을 사용하는 경우 "*"가 아닌 *

  2. ==============================

    2.HTTP에서 끝점 노출은 이제 속성을 사용하여 구성 할 수 있습니다.

    HTTP에서 끝점 노출은 이제 속성을 사용하여 구성 할 수 있습니다.

    management.endpoints.web.exposure.include
    management.endpoints.web.exposure.exclude
    

    Actuator에서 언급 한 ID로 끝점을 노출 할 수 있습니다.

    # Include all endpoints 
    management.endpoints.web.exposure.include=*
    # Exclude specifics 
    management.endpoints.web.exposure.exclude=env
    
  3. from https://stackoverflow.com/questions/50114501/actuator-refresh-is-not-being-provided-in-springboot-2-0-1 by cc-by-sa and MIT license