英文:
SpringBoot + Spring Cloud Stream: Expose /actuator/ endpoints to the web without webflux / web jars
问题
关于SpringBoot
和Spring Cloud Stream
应用程序的小问题,请。
我有一个基于SpringBoot
和Spring Cloud Stream
的纯消费者应用程序。
它是一个"只从kafka
消费者应用程序中消费消息",没有HTTP或rest端点
作为其业务逻辑的一部分需要暴露。
如果您看一下依赖项,依赖于spring cloud
,boot
,和actuator
都存在。但是,没有依赖于webflux
或web。该应用程序目前能够处理所有数据。
作为一个额外的要求,我希望能够暴露actuator
端点,因为它们对于一个"只是kafka消息消费者应用程序"来说非常有用。
不幸的是,即使导入了actuator jar,当前的设置下,应用程序不会暴露/actuator
REST端点。
我想知道是否有可能只暴露actuator
端点,而不必使用webflux
或web?谢谢!
英文:
Small question regarding SpringBoot
+ Spring Cloud
Stream application please.
I have a pure consumer app based on SpringBoot
and Spring Cloud
Stream.
It is a "only consuming messages from kafka
consumer app", in has no http or rest endpoints
to be exposed as part of its business logic.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>streamreactiveconsumer</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.2</version>
<relativePath/>
</parent>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2022.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
If you look at the dependency, the dependecy to spring cloud
, to boot
, to actuator
are there. However, there is no dependency to neither webflux
, neither web. The application is currently able to process all data.
As a plus, I would like to have the actuators endpoints as they are really useful to even a "just kafka messages consumer app"
.
Unfortunately, the current setup, even with actuator jar imported, the applicaiton does not expose the /actuator
rest endpoint.
I was wondering, would it be possible to just expose actuator endpoints, without having to carry webflux
or web please?
Thank you
答案1
得分: 1
不清楚您的意思;您希望 /actuator
REST 端点在没有 Web 容器(如 Tomcat)的情况下可用吗?
actuator 端点需要 Spring Web 支持(任一类型)。
英文:
It is not clear what you mean; how do you expect the /actuator
REST endpoint to be available without a web container such as Tomcat?
The actuator endpoints require spring web support (either type).
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论