All Products
Search
Document Center

Application Real-Time Monitoring Service:Data pemantauan hilang untuk aplikasi Java pada JDK 17

Last Updated:Mar 12, 2026

Setelah menghubungkan aplikasi Java yang berjalan pada JDK 17 ke Application Real-Time Monitoring Service (ARMS), Konsol ARMS mungkin tidak menampilkan data pemantauan. Masalah ini terjadi ketika versi Agen ARMS tidak mendukung JDK 17 atau ketika ketergantungan Servlet API yang usang mengganggu logika instrumentasi agen.

Penyebab 1: Versi Agen ARMS tidak mendukung JDK 17

Dukungan JDK 17 diperkenalkan pada Agen ARMS V2.8.3. Jika agen Anda lebih lama dari V2.8.3, agen tersebut tidak dapat melakukan instrumentasi aplikasi yang berjalan pada JDK 17, sehingga tidak ada data pemantauan yang dikumpulkan.

Persyaratan versi

Framework aplikasiVersi minimum Agen ARMS
JDK 17 (tanpa Spring Boot 3.0)V2.8.3
JDK 17 dengan Spring Boot 3.0V2.9.1.2

Agen ARMS V2.8.3 mendukung JDK 17 tetapi tidak mendukung Spring Boot 3.0. Spring Boot 3.0 memerlukan JDK 17. Jika aplikasi Anda menggunakan Spring Boot 3.0, lakukan upgrade ke Agen ARMS V2.9.1.2 atau versi yang lebih baru.

Solusi

Lakukan upgrade Agen ARMS ke versi yang sesuai dengan framework aplikasi Anda. Untuk prosedur upgrade, lihat dokumentasi upgrade Agen ARMS.

Verifikasi perbaikan

  1. Mulai ulang aplikasi Anda setelah upgrade.

  2. Periksa log startup Agen ARMS untuk memverifikasi bahwa versi agen yang benar telah dimuat. Cari entri log yang berisi nomor versi agen.

  3. Buka Konsol ARMS dan buka halaman pemantauan aplikasi Anda.

  4. Konfirmasi bahwa data pemantauan muncul dalam beberapa menit.

Penyebab 2: Ketergantungan Servlet API yang usang menyebabkan instrumentasi salah

Mulai Spring Boot 3.0, Apache Tomcat tersemat ditingkatkan ke Tomcat 10, yang menggunakan Servlet 5.0. Versi ini mengubah nama paket Servlet API dari javax menjadi jakarta.

Agen ARMS menggunakan nama paket Servlet API untuk menentukan lokasi penerapan instrumentasi. Jika ketergantungan POM aplikasi Anda mencakup versi lama Servlet API (yang menggunakan nama paket javax) yang sebenarnya tidak digunakan oleh aplikasi, agen akan mendeteksi nama paket yang salah dan menerapkan instrumentasi ke javax alih-alih jakarta. Akibatnya, instrumentasi tidak berlaku dan konsol tidak menampilkan data pemantauan.

Cara memeriksa

Periksa file pom.xml proyek Anda untuk ketergantungan Servlet API yang menggunakan namespace javax:

<!-- Contoh: ketergantungan usang yang menyebabkan masalah -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
</dependency>

Jika aplikasi Spring Boot 3.0 Anda menyertakan ketergantungan seperti ini tetapi tidak menggunakannya, Agen ARMS mungkin salah mengidentifikasi target instrumentasi.

Solusi

Pilih salah satu pendekatan berikut:

  • Hapus ketergantungan Servlet API yang tidak digunakan. Hapus ketergantungan javax.servlet dari pom.xml Anda jika aplikasi Anda tidak memerlukannya. Hal ini memungkinkan Agen ARMS mendeteksi nama paket jakarta yang benar.

  • Lakukan upgrade Agen ARMS ke V3.2.0 atau versi yang lebih baru. Agen ARMS V3.2.0 memperbaiki masalah ini dengan mengidentifikasi secara tepat nama paket Servlet API yang aktif, terlepas dari ketergantungan usang dalam POM. Untuk melakukan upgrade ke V3.2.0, submit a ticket.

Verifikasi perbaikan

  1. Mulai ulang aplikasi Anda setelah menghapus ketergantungan yang tidak digunakan atau melakukan upgrade Agen ARMS.

  2. Periksa log startup Agen ARMS untuk memastikan agen berhasil dimuat.

  3. Buka Konsol ARMS dan buka halaman pemantauan aplikasi Anda.

  4. Konfirmasi bahwa data pemantauan seperti jejak dan metrik muncul dalam beberapa menit.

Referensi cepat

GejalaKemungkinan penyebabPerbaikan
Tidak ada data, Agen ARMS lebih lama dari V2.8.3Agen tidak mendukung JDK 17Upgrade ke V2.8.3 atau versi yang lebih baru
Tidak ada data, aplikasi Spring Boot 3.0, Agen ARMS lebih lama dari V2.9.1.2Agen tidak mendukung Spring Boot 3.0Upgrade ke V2.9.1.2 atau versi yang lebih baru
Tidak ada data, aplikasi Spring Boot 3.0, ketergantungan javax.servlet yang usang dalam POMAgen menerapkan instrumentasi ke nama paket yang salahHapus ketergantungan usang tersebut, atau upgrade ke V3.2.0 atau versi yang lebih baru