Конечные точки исполнительного механизма пружины не работают на порте приложения - PullRequest
2 голосов
/ 13 марта 2020

Я пытаюсь включить конечные точки привода на том же порте, что и порт приложения (указанный в файле application.properties сервером server.port = 8080), но по какой-то причине он не работает. Когда я запускаю приложение, я могу получить ответ от приложения, но не от конечных точек привода. Я вижу, что в журналах упоминаются конечные точки, которые отображаются под базовым путем '/ привод', как показано на снимке экрана ниже. Но когда я пытаюсь нажать на URL привода, он выдает 404.

URL, не работает :

Однако, если я укажу отдельный порт в application.properties для конечных точек привода со свойством (management.server.port = 9000 ) тогда он работает нормально.

URL, это работает :

Единственное отличие заключается в номере порта, но из того, что я прочитал в весенней документации, конечные точки привода по умолчанию должны быть включены на порту приложения, если мы не укажем the management.server.port. Может кто-нибудь объяснить, что мне здесь не хватает? enter image description here PS: Журналы запуска приложений точно такие же, с указанием или без указания файла management.server.port, следовательно, этот скриншот без указания управления порт. Кроме того, я попытался дать один и тот же номер порта для свойства (server.port и management.server.port), но возникает та же проблема. Приложение работает на этом порту, а конечные точки привода - нет. Я использую весеннюю загрузку версии 2.0.6

Это содержимое моего файла application.properties:

camel.springboot.main-run-controller=true
camel.springboot.name=AppName
camel.rest.data-format-property.prettyPrint=false
camel.component.servlet.mapping.context-path=/*

server.port=8080
management.server.port=9000

management.endpoint.health.show-details=always
management.endpoint.beans.enabled=true

logging.level.org.springframework = INFO
logging.level.org.apache.camel.spring.boot = INFO
logging.level.org.apache.camel.impl = DEBUG

Ниже приведены зависимости в pom. xml:

<dependencies>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-spring-boot-starter</artifactId>
        </dependency>

        <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>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-undertow</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-servlet-starter</artifactId>
        </dependency>
</dependencies>

Ответы [ 2 ]

0 голосов
/ 14 марта 2020

Пожалуйста, установите ниже в файле application.properties

management.endpoints.enabled-by-default=true 

management.endpoints.web.exposure.include=*  
0 голосов
/ 13 марта 2020

Относительно Spring Boot Actuator документация

Предоставление конечных точек управления с использованием порта HTTP по умолчанию является разумным выбором для облачных развертываний. Однако если ваше приложение работает внутри вашего собственного центра обработки данных, вы можете предпочесть выставлять конечные точки, используя другой порт HTTP.

оно обслуживает привод с использованием порта HTTP по умолчанию (который равен 8080). Я сделал быструю проверку и смог подтвердить это с помощью Spring Boot 2.1.X и 2.2.X.

Попробуйте удалить management.port из вашей конфигурации, и если это не работает, то проблема может быть связана с дополнительным (пользовательская) конфигурация в вашем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...