【问题标题】:Spring Boot 2.3.0.RELEASE /actuator/sessions endpoint is missingSpring Boot 2.3.0.RELEASE /actuator/sessions 端点丢失
【发布时间】:2020-05-23 12:31:05
【问题描述】:

对于我的一生,我无法让/actuator/sessions 端点出现。我的配置:

management.endpoints.web.exposure.include = *
management.endpoint.sessions.enabled = true

所有文档都说它应该在那里,但事实并非如此。事实上,我错过了auditeventsflyawayjolokialogfileliquibaseprometheussessions

我需要包含一些包吗?

【问题讨论】:

  • 你真的有这些端点的东西吗?那么,您是否真的在使用 flyway、liquibase、spring session 等?如果不使用这些技术,端点也将不存在。
  • 您能否链接您的依赖关系以及为什么您认为 Sessions 端点应该处于活动状态?
  • Spring Boot 执行器文档说这些端点应该存在,并且没有提及依赖库。现在,我可以看到其中提到的大多数可能不会出现,但是因为这是一个肯定有 HttpSessions 的 web 应用程序,并且我正在运行的应用程序中存在其他与 HTTP 相关的端点,所以我假设会话会在那里, 也。如果执行器文档清楚地说明预期会发生什么,那就太好了。

标签: spring-boot spring-boot-actuator


【解决方案1】:

我已经检查了 jolokia 和 prometheus 的 spring boot 2.3.0.RELEASE 示例项目 - 默认情况下,您添加以下依赖项应该可以使其工作:

对于 jolokia:

<dependency>
    <groupId>org.jolokia</groupId>
    <artifactId>jolokia-core</artifactId>
</dependency>

对于普罗米修斯:

<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>       

对于 jolokia,您甚至应该看到以下日志消息:

<date goes here> INFO 5908 --- [           main] o.s.b.a.e.web.ServletEndpointRegistrar   : Registered '/actuator/jolokia' to jolokia-actuator-endpoint

还有如下属性: management.endpoint.jolokia.enabled 应该是“真的”

所以,简而言之,它应该在那里......

您可以通过向以下位置发出 GET 请求来查看公开端点的完整“列表”:

&lt;host&gt;:&lt;port&gt;/actuator/mappings

【讨论】:

  • 您能否链接到更改日志以要求 Spring Sessions 执行器端点这样做?
  • 据我了解,问题不仅与会话端点有关,还与许多声称丢失的端点有关。我无法快速检查会话、liquidbase 和 flyway,但可以相对轻松地检查 jolokia 和 prometheus/micrometer 的东西......希望 OP 会发现它有用
  • 我真的只对检查我正在运行的 web 应用程序中的会话感兴趣,我只是提到了其他信息作为附加信息。
  • 注意,在这种情况下,我的回答确实不那么相关,抱歉。 @Rick,所以当你运行 /actuator/mappings 时你看不到 /sessions 映射,对吧?
  • 源代码级别的会话端点在这里:https://github.com/spring-projects/spring-boot/blob/v2.3.0.RELEASE/spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/session/SessionsEndpoint.java 所以请确保这个类被加载(在它的构造函数中放置一个断点或其他东西)。
【解决方案2】:

显然会话执行器仅在您通过 Spring-Session 使用集群会话时才有效 - 请参阅:https://github.com/spring-projects/spring-boot/issues/8278

如果您不使用集群会话(因此不使用 Spring-Session),那么看起来您必须实现自己的执行器来列出会话。

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 2016-06-01
    • 2020-09-15
    • 2021-04-24
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多