当前位置: 首页 > 知识库问答 >
问题:

如何记录基于spring boot(tomcat)的应用程序中可用/已使用线程的数量?

连乐
2023-03-14

是否有一个spring boot配置,你可以记录应用服务器当前拥有的可用/使用的线程数?

共有1个答案

祁渊
2023-03-14

您可以使用执行器框架。

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

然后必须在application.properties中启用tomcat JXM度量,并公开度量端点

server.tomcat.mbeanregistry.enabled=true
management.endpoints.web.exposure.include=info,health,metrics

转到http://localhost:8080/acturet/metrics/,您将看到所有可用的度量。

例如当前线程http://localhost:8080/acturet/metrics/tomcat.threads.current

 类似资料:
  • 还有,我应该什么时候关闭executor服务? 我是新的纺纱线程这种方式,有人能帮助我了解它是如何工作的吗?

  • 完成干净的构建后,我将war文件复制到Tomcat的文件夹中。但是部署会发生两次,并且在上下文已经存在的情况下以异常结束。我错过了什么? 非常感谢您的帮助。

  • 我的工作与Javawebapp与Apache Tomcat一起运行。Tomcat线程池的最大线程数为800,minSpareThread为25。当它运行时,它通常在给定时间运行大约400个线程。 比方说,我有一个计算成本很高的非阻塞任务,我必须在我的Tomcat应用程序中完成,在这个应用程序中,ForkJoinPool。commonPool用于更有效地解决任务。 因为我的ApacheTomcat应

  • 我有Kafka Streams java应用程序启动并运行。我试图使用KSQL创建简单的查询,并使用Kafka流来实现复杂的解决方案。我希望将KSQL和Kafka流作为Java应用程序运行。 我打算通过https://github.com/confluentinc/ksql/blob/master/ksqldb-examples/src/main/java/io/confluent/ksql/em

  • 问题内容: 我对Tomcat不太熟悉,在我看来,它基本上是抽象为cgi服务器,可以在两次调用之间保存JVM -尽管我知道它可以做得多。 我正在寻找一种在Tomcat服务器启动时启动 后台 线程的方法,该方法会定期更新服务器上下文(在我的特殊情况下,这是一个侦听其他服务的心跳并更新可用性信息的线程,但是可以想象得到有多种用途)。 有标准的方法吗?上下文的启动和更新/查询? 指向相关文档和/或代码示例

  • 我有一个调度程序,它每 4 小时轮询一次数据,并根据某些逻辑插入到表中。我还使用了注释,并且每次检查表中是否已存在数据。如果记录不存在,它将插入。当我是 SpringBoot 应用程序的多个实例时,每个实例都运行调度程序,并且某些数据并非全部重复。这意味着我发现该表包含重复记录。我插入的表是应用程序的现有表,很少有列没有使用唯一约束进行定义。请告诉我即使调度程序从多个实例运行,如何在数据库表中维护