web-dev-qa-db-fra.com

L'actuateur / rafraîchissement n'est pas fourni dans Spring Boot 2.0.1

Je crée un projet de démonstration pour Spring-Config-Server et Spring-Config-Client.

Dans SpringBoot 1.5.6.RELEASE tout fonctionne bien.

Cependant, lorsque je mets à niveau le projet vers 2.0.1.RELEASE il ne fournit pas les points de terminaison de l'actionneur.


Point final de l'actionneur fourni dans 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

Point final de l'actionneur fourni dans 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>

La seule différence bw 1.5.6 pom est la version et spring-cloud.version = Dalston.SR2

Quelqu'un pourrait-il m'aider?

6
Mehraj Malik

Après un peu de recherche, j'ai trouvé la cause pour laquelle les points de terminaison ne sont pas affichés dans Spring Boot 2.0 est selon les documents

Par défaut, tous les noeuds finaux, à l'exception de l'arrêt, sont activés

nous devons donc les activer manuellement.

J'ai ajouté management.endpoints.web.exposure.include=* dans application.properties fichier et maintenant tous les points de terminaison sont de retour.

Remarque : Si vous utilisez .yml assurez-vous d'utiliser "*" ne pas *

17
Mehraj Malik

Même après avoir ajouté la ligne ci-dessous, n'aidera pas parfois management.endpoints.web.exposure.include = *

Essayez ceci: - Actualiser fonctionne sur la méthode OPTIONS, pas avec POST pour quelques cas.

enter image description here

4

L'exposition des points de terminaison sur HTTP est désormais configurable à l'aide des propriétés

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

Vous pouvez exposer les points de terminaison par leur identifiant mentionné par l'actuateur.

# Include all endpoints 
management.endpoints.web.exposure.include=*
# Exclude specifics 
management.endpoints.web.exposure.exclude=env
4
Mahesh Pardeshi