Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure Command Launcher for Java (jaz) egy egyszerűsített segédprogram, amely leegyszerűsíti, hogy a Java-fejlesztők hogyan futtatják az alkalmazásaikat az Azure-ban.
A felhőkörnyezetekre szabott Java Virtuális gép (JVM) lehetőségek intelligens alkalmazásával az eszköz csökkenti a konfigurációs többletterhelést, és javítja az erőforrások kihasználtságát, és nagyobb potenciállal rendelkezik a jobb teljesítmény érdekében.
Ez az eszköz ideális azoknak a fejlesztőknek, akik:
- Jobb JVM-alapértelmezett beállításokat szeretne, anélkül, hogy mélyen belemerül a hangolási útmutatókba.
- Natív felhőbeli mikroszolgáltatások fejlesztése és üzembe helyezése olyan keretrendszerekkel, mint a Spring Boot, a Quarkus vagy a Micronaut.
- A tárolóalapú munkafolyamatok, például a Kubernetes és az OpenShift előnyben részesítése.
- Java-számítási feladatok üzembe helyezése az Azure Container Appsben, az Azure Kubernetes Service-ben, az Azure Red Hat OpenShiftben vagy az Azure-beli virtuális gépeken.
Legfontosabb funkciók
- 🛠 Automatikusan hangolja a JVM-jelzőket a felhőnatív telepítésekhez.
-
🚀 Csatlakoztasd és használd élmény. Egyszerűen helyezze be a Dockerfile-ba vagy indító szkriptbe, és cserélje ki a
javaparancsot ajazparancsra. - ☁️ Azure-környezetekhez optimalizálva.
- 🔧 Környezeti változókkal testreszabható. A konfigurációs módosítások biztonságos bevezetésének számos módja van.
Támogatott környezetek
Az Azure Command Launcher for Java bárhol használható, ahol a Java-indító elérhető Linux-alapú környezetekben. Az alábbi Azure- és CI/CD-platformokon lett érvényesítve és tesztelve:
- Azure Kubernetes Service (AKS)
- Azure Container Apps
- Azure App Service
- Azure Functions
- Azure Red Hat OpenShift (ARO)
- Azure Virtual Machines
- Azure DevOps
- GitHub Codespaces
- GitHub Actions
Nyilvános előzetes verzió
Az Azure Command Launcher for Java nyilvános előzetes verzióban érhető el! Olvassa el a nyilvános előzetes verzióra vonatkozó közleményt , amely bemutatja az eszközt és annak előnyeit.
Hogyan működik?
Az Azure Command Launcher for Java a tároló vagy a virtuális gép indítási parancsa és a JVM között helyezkedik el. Az eszköz indításakor a következő történik:
- Észleli a felhőkörnyezetet (például tárolókorlátokat és rendelkezésre álló memóriát).
- **
Elemzi a terhelés típusát, és kiválasztja azokat a JVM-hangolási jelzőket, amelyek a legjobban illeszkednek, például:
- Halomméretezés.
- Szemétgyűjtő kiválasztása és finomhangolása.
- Szükség szerint naplózási és diagnosztikai beállítások.
- Elindít egy Java-folyamatot, átadva neki a hangolási jelzőket és a felhasználó által megadott argumentumokat.
- Láthatatlanul továbbítja az stdout, stderr, stdin és os jeleket a Java-folyamatba és onnan.
- Figyeli a Java-folyamatot, és továbbítja a kilépési kódot, amikor leáll.
Példa használatra
Az Azure Command Launcher for Java a java parancs helyettesítője, amely nem igényel kódmódosítást. Egyszerűen cserélje le a java-t jaz-re az indítási szkriptekben – például cserélje le a java -jar foo.jar-t jaz -jar foo.jar-ra.
A JVM-beállítások manuális finomhangolása helyett:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
jazhasználata:
jaz -jar myapp.jar
Az alkalmazás automatikusan kihasználhatja a következő előnyöket:
- Felhő-natív és konténer munkaterhelésekhez bevált alapértelmezések.
- Csökkent memóriapazarlás a felhőben.
- Jobb indítási és bemelegítési teljesítmény.
Telepítés
Az Azure Command Launcher for Java x64 és arm64 Linux rendszeren is elérhető. A támogatott telepítési módszerek a következők:
- Használjon egy tárolórendszerképet az előre telepített eszközzel.
- Telepítse az Azure Linuxon.
- Telepítse a Microsoft-termékek linuxos szoftvertárából.
Konténerképek
Az eszköz szerepel az OpenJDK Microsoft Buildjének tárolórendszerképeiben. Nincs szükség további beállításra.
Például a következő Dockerfile egy Java alkalmazás futtatására használható egy jar fájlból jaz segítségével:
# 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"]
Telepítés Az Azure Linuxon
Virtuális gépekhez és más Azure Linux-környezetekhez a csomagkezelővel telepítheti az tdnf eszközt. Telepítse a jaz csomagot a következő paranccsal:
sudo tdnf install jaz
Egyéb Linux-disztribúciók
Ha már beállította a Microsoft Products linuxos szoftveradattárát, futtassa a megfelelő csomagkezelő parancsot a disztribúcióhoz a jaz csomag telepítéséhez.
Például Ubuntu- vagy Debian-alapú disztribúciókon futtassa a következőt:
sudo apt-get install jaz
Ha nincs beállítva a Microsoft-termékek linuxos szoftvertárháza, kövesse a Linux-disztribúcióra vonatkozó utasításokat.
Az Ubuntu-ra való telepítéshez nyisson meg egy terminált, és futtassa a következő parancsokat:
wget "https://packages.microsoft.com/config/ubuntu/$(. /etc/os-release; echo $VERSION_ID)/packages-microsoft-prod.deb" -O packages-microsoft-prod.deb && \
sudo dpkg -i packages-microsoft-prod.deb
Az adattár hozzáadása után telepítse jaz, futtassa a következő parancsokat:
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install jaz
Támogatott JVM-verziók
A Java-hoz készült Azure Command Launcher használatához OpenJDK-alapú JDK-telepítésre (8-es vagy újabb verzió) van szükség a rendszeren. Tesztelték a következőkkel:
- Eclipse Temurin OpenJDK 8 és HotSpot JVM
- Microsoft Build of OpenJDK 11, 17, 21 és 25.
Fontos
A Java-hoz készült Azure Command Launcher teljes JDK-telepítést igényel. Nincs teljesen tesztelve JRE-telepítésekkel vagy egyéni jlink-futtatókörnyezetekkel. További információ: "Miért nem működik JRE- vagy jlink-futtatókörnyezetekkel?".
Konfiguráció
A jaz parancs nem használ parancssori argumentumokat a saját konfigurációja számára.
Ehelyett alapértelmezés szerint az összes argumentumot közvetlenül a java parancsnak továbbítja.
Annak érdekében, hogy a jaz konfiguráció ne zavarja az alkalmazás argumentumait, jaz csak a környezeti változókon keresztül fogadja el a konfigurációt.
A jaz parancs az alábbi környezeti változók használatával konfigurálható:
A környezeti változók parancssori argumentumok helyett való használata bizonyos esetekben megkönnyíti a konfigurálást jaz is.
Tárolóalapú alkalmazások üzembe helyezésekor néha egyszerűbb a környezeti változók beállítása, mint az indítási szkriptek módosítása, és a JAZ_IGNORE_USER_TUNING illetve JAZ_BYPASS elemekkel való kísérletezés hasznos lehet a jaz értékelésekor.
Ütemterv
- ⚙️ JVM-konfigurációs profilok
- 📦 AppCDS-támogatás
- 🔄 Folyamatos hangolás
- 📊 Telemetria
- 📦 Leyden-támogatás
Változásnapló
1. nyilvános előzetes verzió: 0.0.0-preview+20251118.1
- RPM- és DEB-csomagok implementálása.
- A szemétgyűjtő feloldóbeállításainak javítása.
- Ne bocsátson ki nem egyértelmű diagnosztikai kimenetet, ha a Java-program nemzero kóddal lép ki.
- Az operációs rendszer jeltovábbításának javítása Java-folyamatba, például
SIGTERMésSIGINT.- Egy Java-alkalmazást futtató tároló leállítása időt ad az alkalmazásnak a kecses leállításra.
- Távolítsa el a használatát
PrintFlagsFinal, és javítsa az egyes Java-alkalmazásokkal való kompatibilitást.- A kivételeket okozó
System.console()hívások javítása. - Az stdout stream pufferelésének javítása:
jaza továbbiakban nem késlelteti a kimenet továbbítását, amíg nem észlel egy új sor karaktert.
- A kivételeket okozó
- Egyéb hibajavítások és a belső rugalmasság javítása.
Privát előzetes verzió 2
- Hibajavítások.
- Bővített Linux disztribúciós kompatibilitás a glibc-követelmények csökkentésével.
-
jazMost észleli, hogy van-e manuális JVM-hangolás, és ebben az esetben nem alkalmazza a saját módosításait. -
JAZ_IGNORE_USER_TUNING=1figyelmen kívül hagyja a manuális JVM-finomhangolást, ha van ilyen, és ehelyett alkalmazza a Jaz saját finomhangolási módosításait. - Az
PrintFlagsFinalOpenJDK HotSpot JVM 8 használatakorjazrögzített kimenet jelenik meg (ha nincs szükség rá).
Privát előzetes verzió 1
- Az Azure Command Launcher for Java kezdeti kiadása.
Telemetria
A Java-hoz készült Azure Command Launcher összegyűjti a használati adatokat, és elküldi a Microsoftnak a termékeink és szolgáltatásaink javítása érdekében. További információért olvassa el adatvédelmi nyilatkozatunkat.