Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Missing monitoring data for Java applications on JDK 17

Última atualização: Jun 27, 2026

Ao conectar uma aplicação Java em execução no JDK 17 ao Application Real-Time Monitoring Service (ARMS), o console do ARMS pode não exibir dados de monitoramento. Esse problema ocorre quando a versão do agente do ARMS não oferece suporte ao JDK 17 ou quando uma dependência desatualizada da Servlet API interfere na lógica de instrumentação do agente.

Causa 1: A versão do agente do ARMS não oferece suporte ao JDK 17

O suporte ao JDK 17 foi introduzido na versão V2.8.3 do agente do ARMS. Se o agente for anterior à V2.8.3, ele não instrumentará aplicações em execução no JDK 17 e nenhum dado de monitoramento será coletado.

Requisitos de versão

Framework da aplicação

Versão mínima do agente do ARMS

JDK 17 (sem Spring Boot 3.0)

V2.8.3

JDK 17 com Spring Boot 3.0

V2.9.1.2

O agente do ARMS V2.8.3 oferece suporte ao JDK 17, mas não é compatível com o Spring Boot 3.0. Como o Spring Boot 3.0 exige o JDK 17, caso sua aplicação utilize esse framework, atualize para o agente do ARMS V2.9.1.2 ou superior.

Solução

Atualize o agente do ARMS para a versão correspondente ao framework da sua aplicação. Para obter o procedimento de atualização, consulte a documentação de upgrade do agente do ARMS.

Verifique a correção

  1. Reinicie a aplicação após a atualização.

  2. Verifique nos logs de inicialização do agente do ARMS se a versão correta foi carregada. Procure uma entrada de log que contenha o número da versão do agente.

  3. Abra o console do ARMS e acesse a página de monitoramento da sua aplicação.

  4. Confirme se os dados de monitoramento aparecem em alguns minutos.

Causa 2: Dependência desatualizada da Servlet API causa instrumentação incorreta

A partir do Spring Boot 3.0, o Apache Tomcat integrado foi atualizado para o Tomcat 10, que utiliza a Servlet 5.0. Essa versão alterou o nome do pacote da Servlet API de javax para jakarta.

O agente do ARMS usa o nome do pacote da Servlet API para determinar onde aplicar a instrumentação. Se as dependências do POM da sua aplicação incluírem uma versão antiga da Servlet API (que utiliza o pacote javax) não utilizada pela aplicação, o agente detectará o nome do pacote errado e aplicará a instrumentação em javax em vez de jakarta. Consequentemente, a instrumentação não terá efeito e o console não exibirá dados de monitoramento.

Como verificar

Inspecione o arquivo pom.xml do seu projeto em busca de dependências da Servlet API que utilizem o namespace javax:

<!-- Example: stale dependency that causes the issue -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
</dependency>

Caso sua aplicação Spring Boot 3.0 inclua uma dependência como essa, mas não a utilize, o agente do ARMS poderá identificar incorretamente o alvo da instrumentação.

Solução

Escolha uma das seguintes abordagens:

  • Remova a dependência não utilizada da Servlet API. Exclua a dependência javax.servlet do seu pom.xml se a aplicação não precisar dela. Isso permite que o agente do ARMS detecte corretamente o nome do pacote jakarta.

  • Atualize o agente do ARMS para a V3.2.0 ou superior. A versão V3.2.0 do agente do ARMS corrige esse problema ao identificar corretamente o nome do pacote da Servlet API ativa, independentemente de dependências desatualizadas no POM. Para atualizar para a V3.2.0, envie um ticket.

Verifique a correção

  1. Reinicie a aplicação após remover a dependência não utilizada ou atualizar o agente do ARMS.

  2. Verifique nos logs de inicialização do agente do ARMS se o carregamento ocorreu com sucesso.

  3. Abra o console do ARMS e acesse a página de monitoramento da sua aplicação.

  4. Confirme se os dados de monitoramento, como traces e métricas, aparecem em alguns minutos.

Referência rápida

Sintoma

Causa provável

Correção

Sem dados; agente do ARMS anterior à V2.8.3

O agente não oferece suporte ao JDK 17

Atualize para a V2.8.3 ou superior

Sem dados; aplicação Spring Boot 3.0; agente do ARMS anterior à V2.9.1.2

O agente não oferece suporte ao Spring Boot 3.0

Atualize para a V2.9.1.2 ou superior

Sem dados; aplicação Spring Boot 3.0; dependência desatualizada javax.servlet no POM

O agente aplica a instrumentação no nome de pacote errado

Remova a dependência desatualizada ou atualize para a V3.2.0 ou superior