Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Peluncur Perintah Azure untuk Java (jaz) adalah utilitas ringan yang menyederhanakan cara pengembang Java menjalankan aplikasi mereka di Azure.
Dengan menerapkan opsi Java Virtual Machine (JVM) secara cerdas yang disesuaikan untuk lingkungan cloud, alat ini mengurangi overhead konfigurasi dan meningkatkan pemanfaatan sumber daya di luar kotak, dengan potensi performa yang lebih tinggi.
Alat ini sangat ideal untuk pengembang yang:
- Ingin default JVM yang lebih baik tanpa menyelam jauh ke dalam panduan penyetelan.
- Mengembangkan dan menyebarkan layanan mikro asli cloud dengan kerangka kerja seperti Spring Boot, Quarkus, atau Micronaut.
- Lebih suka alur kerja berbasis kontainer seperti Kubernetes dan OpenShift.
- Sebarkan beban kerja Java di Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift, atau Azure Virtual Machines.
Fitur utama
- ๐ Secara otomatis mengatur parameter JVM untuk penyebaran cloud-native.
-
๐ Pengalaman penggunaan yang langsung siap pakai. Masukkan saja ke Dockerfile Anda atau jalankan skrip, ganti perintah
javadenganjaz. - โ๏ธ Dioptimalkan untuk lingkungan Azure.
- ๐ง Dapat disesuaikan melalui variabel lingkungan. Ada beberapa cara untuk meluncurkan perubahan konfigurasi dengan aman.
Lingkungan yang didukung
Peluncur Perintah Azure untuk Java dapat digunakan di mana pun peluncur Java tersedia di lingkungan berbasis Linux. Ini telah divalidasi dan diuji di seluruh platform Azure dan CI/CD berikut:
- Azure Kubernetes Service (AKS)
- Azure Container Apps
- Azure App Service
- Azure Functions
- Azure Red Hat OpenShift (ARO)
- Azure Virtual Machines
- Azure DevOps
- GitHub Codespaces
- Tindakan GitHub
Pratinjau umum
Azure Command Launcher untuk Java kini tersedia dalam versi pratinjau publik! Baca pengumuman pratinjau publik untuk pengenalan alat ini dan manfaatnya.
Cara kerjanya
Peluncur Perintah Azure untuk Java berada di antara perintah startup kontainer atau komputer virtual Anda dan JVM. Saat Anda meluncurkan alat ini, alat tersebut:
- Mendeteksi lingkungan cloud (misalnya, batas kontainer dan memori yang tersedia).
- Menganalisis jenis beban kerja dan memilih bendera penyetelan JVM yang paling sesuai, seperti:
- Ukuran timbunan.
- Pemilihan dan penyetelan pengumpul sampah.
- Pengaturan pengelogan dan diagnostik sesuai kebutuhan.
- Memulai proses Java dengan meneruskannya parameter penyetelan dan argumen yang disediakan oleh pengguna.
- Secara tak terlihat menyampaikan sinyal stdout, stderr, stdin, dan OS ke dan dari proses Java.
- Memantau proses Java dan menyampaikan kode keluarnya saat dihentikan.
Contoh penggunaan
Peluncur Perintah Azure untuk Java adalah pengganti drop-in untuk java perintah, tidak memerlukan perubahan kode. Cukup ganti java dengan jaz dalam skrip peluncuran Andaโmisalnya, ganti java -jar foo.jar dengan jaz -jar foo.jar.
Alih-alih menyetel opsi JVM Anda secara manual:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
Gunakan jaz:
jaz -jar myapp.jar
Aplikasi Anda mungkin secara otomatis mendapat manfaat dari:
- Default yang teruji untuk beban kerja natif cloud dan container.
- Mengurangi pemborosan memori di cloud.
- Performa startup dan pemanasan yang lebih baik.
Instalasi
Peluncur Perintah Azure untuk Java tersedia untuk Linux x64 dan arm64. Metode penginstalan yang didukung adalah:
- Gunakan gambar kontainer dengan alat yang telah diinstal sebelumnya.
- Instal di Linux di Azure.
- Instal dari Repositori Perangkat Lunak Linux untuk Produk Microsoft.
Gambar kontainer
Alat ini disertakan dalam gambar kontainer untuk Microsoft Build of OpenJDK. Tidak ada lagi penyiapan yang diperlukan.
Misalnya, Dockerfile ini menggunakan jaz untuk menjalankan aplikasi Java dari jar file:
# Use any Microsoft Build of OpenJDK base image
FROM mcr.microsoft.com/openjdk/jdk:25-ubuntu
# Add your application.jar
COPY application.jar /application.jar
# Use jaz to launch your Java application
CMD ["jaz", "-jar", "application.jar"]
Menginstal di Azure Linux
jaz Instal paket dengan perintah berikut:
sudo tdnf install jaz
Instal dari Repositori Perangkat Lunak Linux untuk Produk Microsoft
Jika Anda telah menyiapkan Repositori Perangkat Lunak Linux untuk Produk Microsoft, jalankan perintah manajer paket yang sesuai untuk distribusi Anda untuk menginstal jaz paket.
Jika tidak, temukan instruksi yang cocok dengan distribusi Linux Anda dalam daftar berikut.
Ikuti instruksi, tetapi instal jaz alih-alih msopenjdk-25 paket.
Versi JVM yang didukung
Peluncur Perintah Azure untuk Java mendukung build berbasis OpenJDK, dan telah diuji dengan:
- Eclipse Temurin OpenJDK 8 dengan HotSpot JVM
- Microsoft Build of OpenJDK 11, 17, 21, dan 25.
Penting
Peluncur Perintah Azure untuk Java memerlukan penginstalan JDK lengkap. Ini tidak sepenuhnya diuji dengan penginstalan JRE saja atau runtime jlink kustom. Untuk informasi selengkapnya, lihat "Mengapa tidak berfungsi dengan runtime JRE atau jlink?".
Konfigurasi
Perintah jaz tidak menggunakan argumen baris perintah untuk konfigurasinya sendiri.
Sebaliknya, secara default, ia meneruskan semua argumen langsung ke java perintah .
Untuk memastikan bahwa jaz konfigurasi tidak mengganggu argumen aplikasi Anda, jaz hanya menerima konfigurasi melalui variabel lingkungan.
Perintah jaz dapat dikonfigurasi menggunakan variabel lingkungan ini:
| Variabel lingkungan | Deskripsi |
|---|---|
JAZ_HELP |
Atur ke 1 untuk mencetak pesan bantuan dan keluar dengan kode 0. |
JAZ_PRINT_VERSION |
Atur ke 1 untuk mencetak versi jaz di stdout dan keluar dengan kode 0. |
JAZ_DRY_RUN |
Atur ke 1 untuk mencetak java perintah yang akan dijalankan dan keluar dengan kode 1. |
JAZ_BYPASS |
Atur ke 1 untuk melewati penyesuaian jaz pengoptimalan. Tidak ada efek pada telemetri. |
JAZ_IGNORE_USER_TUNING |
Atur ke 1 untuk mengabaikan semua parameter penyetelan yang diberikan pengguna dan terapkan jaz penyetelan sebagai penggantinya. Jika tidak, jaz hanya akan menyetel JVM jika tidak mendeteksi bendera penyetelan yang disediakan pengguna. Lihat "Apa yang terjadi jika saya sudah mengatur beberapa opsi JVM di lingkungan saya?" untuk informasi selengkapnya tentang bagaimana jaz berperilaku dengan dan tanpa mengaktifkan pengaturan ini. |
JAZ_EXIT_WITHOUT_FLUSH |
Atur ke 1 untuk melewati penghapusan data telemetri saat keluar. Ini menghindari potensi penundaan (hingga 30 detik) jaz mungkin muncul saat membersihkan data, namun jaz mungkin masih mengirim telemetri. |
Menggunakan variabel lingkungan daripada argumen baris perintah juga memudahkan untuk dikonfigurasi jaz dalam beberapa kasus.
Saat menyebarkan aplikasi dalam kontainer, terkadang lebih mudah untuk mengatur variabel lingkungan daripada memodifikasi skrip peluncuran, dan bereksperimen dengan JAZ_IGNORE_USER_TUNING dan JAZ_BYPASS mungkin berguna saat mengevaluasi jaz.
Peta strategi
- โ๏ธ Profil konfigurasi JVM
- ๐ฆ Dukungan AppCDS
- ๐ Penyetelan berkelanjutan
- ๐ Telemetri
- ๐ฆ Dukungan Leyden
Changelog
Pratinjau publik 1: 0.0.0-preview+20251118.1
- Menerapkan paket RPM dan DEB.
- Meningkatkan penyesuaian pengelolaan pelepasan komitmen pengumpul sampah.
- Berhenti memancarkan output diagnostik yang tidak jelas ketika program Java keluar dengan kode bukan nol.
- Meningkatkan penerusan sinyal OS ke proses Java, misalnya,
SIGTERMdanSIGINT.- Menghentikan kontainer yang menjalankan aplikasi Java sekarang memberi waktu aplikasi untuk dimatikan dengan lancar.
- Hapus penggunaan
PrintFlagsFinal, meningkatkan kompatibilitas dengan aplikasi Java tertentu.- Perbaiki pemanggilan
System.console()yang melempar pengecualian. - Memperbaiki buffering aliran stdout:
jaztidak lagi menunda penyampaian output hingga melihat karakter baris baru.
- Perbaiki pemanggilan
- Perbaikan bug lainnya dan peningkatan ketahanan internal.
Pratinjau Pribadi 2
- Perbaikan bug.
- Kompatibilitas distro Linux yang diperluas dengan mengurangi persyaratan glibc.
-
jazsekarang mendeteksi apakah ada penyetelan JVM manual dan dalam kasus seperti itu, itu tidak menerapkan penyesuaiannya sendiri. -
JAZ_IGNORE_USER_TUNING=1mengabaikan penyetelan JVM manual jika ada, dan menerapkan penyesuaian penyetelan Jaz sendiri sebagai gantinya. - Output
PrintFlagsFinalmuncul secara tetap ketika tidak diminta telah diperbaiki jika menggunakanjazdengan OpenJDK HotSpot JVM 8.
Pratinjau pribadi 1
- Rilis awal Peluncur Perintah Azure untuk Java.
Telemetri
Peluncur Perintah Azure untuk Java mengumpulkan data penggunaan dan mengirimkannya ke Microsoft untuk membantu meningkatkan produk dan layanan kami. Untuk mempelajari lebih lanjut, baca pernyataan privasi kami.