Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Средство запуска команд Azure для Java (jaz) — это упрощенная программа, которая упрощает запуск приложений Java разработчиками Azure.
Благодаря интеллектуальному применению параметров Java виртуальных машин (JVM), адаптированных для облачных сред, средство уменьшает затраты на конфигурацию и улучшает использование ресурсов из коробки с более высоким потенциалом для повышения производительности.
Это средство идеально подходит для разработчиков, которые:
- Хотите улучшить настройки JVM по умолчанию без необходимости глубокого изучения руководств по настройке.
- Разработка и развертывание облачных собственных микрослужб с помощью платформ, таких как Spring Boot, Quarkus или Micronaut.
- Предпочитайте рабочие процессы на основе контейнеров, такие как Kubernetes и OpenShift.
- Развертывание рабочих нагрузок Java на Контейнеры приложений Azure, Служба Azure Kubernetes, Azure Red Hat OpenShift или Виртуальные машины Azure.
Ключевые особенности
- 🛠 Автоматически настраивает флаги JVM для облачных развертываний.
-
🚀 Интерфейс plug-and-play. Просто добавьте внутрь вашего Dockerfile или скрипта запуска, заменив команду
javaнаjaz. - ☁️ Оптимизировано для сред Azure.
- 🔧 Настраиваемая с помощью переменных среды. Существует несколько способов безопасного развертывания изменений конфигурации.
Поддерживаемые среды
Средство запуска команд Azure для Java можно использовать везде, где доступен средство запуска Java в средах Linux. Она была проверена и протестирована на следующих платформах Azure и CI/CD:
- Azure Kubernetes Service (AKS)
- Контейнеры приложений Azure
- Служба приложений Azure
- Функции Azure
- Azure Red Hat OpenShift (ARO)
- Виртуальные машины Azure
- Azure DevOps
- GitHub Codespaces
- GitHub Actions
Общедоступная предварительная версия
Средство запуска команд Azure для Java теперь доступно в общедоступной предварительной версии. Ознакомьтесь с объявлением общедоступной предварительной версии , чтобы ознакомиться с этим инструментом и его преимуществами.
Принцип работы
Средство запуска команд Azure для Java находится между командой запуска контейнера или виртуальной машины и JVM. При запуске средства он:
- Обнаруживает облачную среду (например, ограничения контейнеров и доступную память).
- Анализирует тип рабочей нагрузки и выбирает флаги настройки JVM, например:
- Размер кучи.
- Выбор и настройка сборщика мусора.
- Параметры ведения журнала и диагностики по мере необходимости.
- Запускает процесс Java, передавая флаги настройки и любые предоставленные пользователем аргументы.
- Незаметно передает stdout, stderr, stdin и сигналы операционной системы в и из процесса Java.
- Отслеживает процесс Java и передает код выхода при завершении.
Пример использования
Средство запуска команд Azure для Java является заменой команды java, не требующей изменений кода. Просто замените java на jaz в скриптах запуска — например, замените java -jar foo.jar на jaz -jar foo.jar.
Вместо настройки параметров JVM вручную:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
Используйте jaz в следующих случаях:
jaz -jar myapp.jar
Ваше приложение может автоматически воспользоваться следующими преимуществами:
- Боевые, проверенные временем настройки по умолчанию для облачно-нативных рабочих нагрузок и контейнеров.
- Сокращение объемов памяти в облаке.
- Улучшена производительность запуска и прогрева.
Установка
Средство запуска команд Azure для Java доступно как для x64, так и для Arm64 Linux. Поддерживаемые методы установки:
- Используйте образ контейнера с предустановленным инструментом.
- Установите на Azure Linux.
- Установите из репозитория программного обеспечения Linux для продуктов Майкрософт.
Образы контейнеров
Средство включено в образы контейнеров для Microsoft Build of OpenJDK. Дополнительная настройка не требуется.
Например, следующий файл Dockerfile использует jaz для запуска приложения Java из файла jar:
# 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"]
Установка в Azure Linux
Для виртуальных машин и других сред Linux Azure можно установить средство с помощью диспетчера пакетов tdnf. Установите пакет со следующей jaz командой:
sudo tdnf install jaz
Другие дистрибутивы Linux
Если вы уже настроили репозиторий программного обеспечения Linux для продуктов Майкрософт, выполните соответствующую команду диспетчера пакетов для дистрибутива, чтобы установить пакет jaz.
Например, в дистрибутивах на основе Ubuntu или Debian выполните следующую команду:
sudo apt-get install jaz
Если у вас не настроен репозиторий программного обеспечения Linux для продуктов Майкрософт, следуйте инструкциям для вашего дистрибутива Linux.
Чтобы установить в Ubuntu, откройте терминал и выполните следующие команды:
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
После добавления репозитория установите jaz , выполнив следующие команды:
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install jaz
Поддерживаемые версии JVM
Средство запуска команд Azure для Java требует установки JDK на основе OpenJDK (версии 8 или более поздней) в системе. Он был протестирован с помощью:
- Eclipse Temurin OpenJDK 8 с HotSpot JVM
- Microsoft Build of OpenJDK 11, 17, 21 и 25.
Это важно
Средство запуска команд Azure для Java требует полной установки JDK. Он не полностью протестирован с установками только JRE или пользовательскими средами выполнения на основе jlink. Дополнительные сведения см. в статье "Почему она не работает с средами выполнения JRE или jlink?".
Конфигурация
Команда jaz не использует аргументы командной строки для собственной конфигурации.
Вместо этого по умолчанию он передает все аргументы непосредственно команде java .
Чтобы убедиться, что jaz конфигурация не вмешивается в аргументы приложения, jaz принимает конфигурацию только через переменные окружения.
Команда jaz может быть настроена с помощью следующих переменных среды:
Использование переменных среды, а не аргументов командной строки также упрощает настройку jaz в некоторых случаях.
При развертывании контейнерного приложения иногда проще задать переменные среды, чем изменять скрипты запуска, и экспериментирование с JAZ_IGNORE_USER_TUNING и JAZ_BYPASS может быть полезным при оценке jaz.
Дорожная карта
- ⚙️ Профили конфигурации JVM
- 📦 Поддержка AppCDS
- 🔄 Непрерывная настройка
- 📊 Телеметрия
- 📦 Поддержка Leyden
Журнал изменений
0.0.0-preview+20260408.1
- Обновления зависимостей.
0.0.0-preview+20260403.2
- Обновления зависимостей.
0.0.0-preview+20260323.1
- Обновления зависимостей.
0.0.0-preview+20260223.1
- Обновления зависимостей.
0.0.0-preview+20260120.1
- Обновления зависимостей.
0.0.0-preview+20251211.7
- Обновления зависимостей.
- Другие исправления ошибок.
0.0.0-preview+20251205.1
- Исправления внутренних ошибок.
0.0.0-preview+20251126.1
- Добавьте Microsoft Build of OpenJDK 25 в список сертифицированных версий.
0.0.0-preview+20251120.1
- Обновления зависимостей.
0.0.0-preview+20251118.1
- Перейдите в общедоступную предварительную версию.
- Реализуйте пакеты RPM и DEB.
- Улучшайте корректировки сборщика мусора.
- Остановите создание неясных диагностических выходных данных, когда программа Java завершает работу с ненулевом кодом.
- Улучшение передачи сигналов ОС в процесс Java, например
SIGTERMиSIGINT.- Остановка контейнера с Java приложением теперь дает приложению время для корректного завершения работы.
- Удалите использование
PrintFlagsFinal, что улучшает совместимость с определенными приложениями Java.- Исправлены вызовы
System.console(), которые вызывают исключения. - Исправьте буферизацию потока stdout:
jazбольше не задерживает вывод ретранслятора, пока он не увидит новый символ строки.
- Исправлены вызовы
- Другие исправления ошибок и улучшения внутренней устойчивости.
Частная предварительная версия 2
- Исправления ошибок.
- Расширенная совместимость дистрибутивов Linux путем снижения требований к glibc.
-
jazтеперь обнаруживает наличие какой-либо настройки JVM вручную и в таком случае не применяет собственные корректировки. -
JAZ_IGNORE_USER_TUNING=1Игнорирует настройку JVM вручную, если она присутствует, и применяет собственные корректировки настройки jaz. - Исправлено
PrintFlagsFinalотображение выходных данных (если оно не запрашивается) при использованииjazс OpenJDK HotSpot JVM 8.
Частная предварительная версия 1
- Первоначальный релиз Azure Command Launcher для Java.
Телеметрия
средство запуска команд Azure для Java собирает данные об использовании и отправляет его в Майкрософт, чтобы улучшить наши продукты и службы. Дополнительные сведения см. в нашем заявлении о конфиденциальности.