我在Kubernetes上部署了带有执行器的Spring Boot 2.3.1应用程序,对应的K8s探针映射到执行器endpoint上:
livenessProbe:
httpGet:
path: /actuator/health/liveness
...
readinessProbe:
httpGet:
path: /actuator/health/readiness
...
这可能不是解决你问题的最优雅的方法,但会起作用。
只需截取执行器调用,并在响应发送后执行您需要执行的操作。
@Component
public class ActuatorHandlerInterceptorAdapter extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory
.getLogger(ActuatorHandlerInterceptorAdapter.class);
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
if (request.getRequestURL().toString().contains("actuator/health/liveness")){
System.out.println("Let's do something based on liveness response");
}
if (request.getRequestURL().toString().contains("actuator/health/readiness")){
System.out.println("Let's do something based on readiness response");
}
}
}
控制台输出: 我试图访问http://localhost:8080/acturet/health的执行器健康endpoint,但没有成功。
大家早上好, 希望这是一个非常简单的问题。 如何支持Spring启动执行器endpoint? 我可以看到大多数的@ReadOperation和@WriteOperation,但我看不到基本URL在哪里得到支持,也看不到什么技术支持创建http://localhost:8080/actuator'终点。 我的项目确实显示了JSON(我想那是什么?)当我导航到地址http://localhost:80
因此,我将Spring引导执行器添加到我的应用程序中,并在应用程序中指定。属性管理。endpoint。健康隐藏物生存时间=120秒,以缓存健康检查结果。因此,当我调用执行器/健康时,结果被缓存,效果很好。 当我调用执行器/健康/就绪或自定义创建的组时,问题开始出现。该请求结果不会被缓存。我查阅了Spring文档,只找到了主要健康终点的信息,没有找到特定人群的信息。 所以我的问题是:我错过了什么吗?
在spring Boot2应用程序中,我试图访问执行器endpoint/bean,就像之前在spring Boot1.5.*应用程序中所做的那样。但我不能。另外,我在log.info中没有看到正在创建endpoint。 我的pom.xml包含: 在application.properties中,我只有关于DatabaseConnectivity的信息: 应用程序正在工作,但未创建/applicat
我正在将一个旧的java Spring项目重构为springboot,并以传统的war风格部署它。出于某种原因,我必须坚持传统的web.xml来启动应用程序。多亏了Springboot遗产,我可以通过web.xml实现这一点: 此外,我添加了springboot执行器依赖项。应用程序。属性如下所示: 应用程序可以正常启动,但当我尝试从浏览器访问endpoint时,它只返回一个“401需要完全身份验
如何访问http://localhost:8081/Actuatorendpoint?