gpt4 book ai didi

java - Spring Boot 添加我自己的端点作为端点管理

转载 作者:行者123 更新时间:2023-12-05 08:34:32 24 4
gpt4 key购买 nike

我是 spring 框架和所有 spring-* 的新手-* 我开始深入研究 spring boot 并将其评估为围绕 REST 服务构建的新产品的候选者。

目前我对通过“执行器”模块公开的内容很感兴趣,开箱即用我知道我可以收集信息 (/info) 监控 Hook (/health) 和甚至关闭端点,都通过提供配置选项将这些端点置于特定端口和“ namespace ”下,从而与主服务器分离

management.port=9000
management.contextPath=/admin

我正在寻找将我自己的端点添加到已经定义的端点的提示(注意,我不想像 HealthIndicator 提议的那样丰富现有端点,但我真的想添加一个新的端点,比如 '/管理员/get_me_out_of_load_balancers')

我可以看到所有现有的端点都扩展了 AbstractEndpoint 但没有设法让我的端点在管理 contextPath 下可用...

最佳答案

Endpoint 类的实例公开为 bean; Spring Boot 的执行器自动配置 will discover it自动地。例如:

package demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.actuate.endpoint.Endpoint;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}

@Bean
public static Endpoint exampleEndpoint() {
return new Endpoint<String>() {
@Override
public String getId() {
return "example";
}

@Override
public boolean isEnabled() {
return true;
}

@Override
public boolean isSensitive() {
return false;
}

@Override
public String invoke() {
return "example";
}
};
}
}

关于java - Spring Boot 添加我自己的端点作为端点管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com