Привод Camel Spring Boot не работает по маршруту cxfrs

Я разработал простой маршрут на основе cxfrs, используя springboot + camel, но когда я добавил spring-boot-starter-activator и запустил его как @SpringBootApplication:

Конечные точки Spring Actuator, такие как / health, не работают и возвращают http 404.

Мой маршрут:

from("cxfrs:http://127.0.0.1:8181?resourceClasses=org.imran.greenfarm.services.OrderService&bindingStyle=SimpleConsumer&providers=#jsonProvider&features=#featuresList")
    .to("log:?showAll=true")
    .toD("direct:${header.operationName}");

application.properties

# all access to actuator endpoints without security
management.security.enabled = false
# turn on actuator health check
endpoints.health.enabled = true

Обновление: если я добавляю spring-boot-starter-web, он показывает статус на http://localhost:8080/health или http://localhost:8080/camel/health. Из логов он показывает запуск двух разных серверов jetty и tomcat. Можем ли мы настроить таким образом, чтобы SpringBoot использовал "cxf-rt-transports-http-jetty" или Camel cxfrs использовал SpringBoot Jetty "spring-boot-starter-jetty".

если мы предоставим в свойствах management.port=8181, он выбрасывает уже используемый порт.

1 ответ

Вы можете добавить Springboot Jetty, добавив следующий в pom.xml, вы должны исключить tomcat по умолчанию

<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-jetty</artifactId>
    </dependency> 
Другие вопросы по тегам