Назад | Перейти на главную страницу

Получение SOS Job Scheduler 1.13 для работы с AdoptOpenJDK

Кто-нибудь знает, как получить Планировщик заданий SOS версия 1.13 работает с AdoptOpenJDK JDK 8 в Windows? Сам планировщик заданий, кажется, работает, но инструмент JOC не запускается, не находя JVM.

Служба Windows для JOC застревает в состоянии «Запуск», и в ее файле журнала появляется следующее:

[2019-12-08 12:14:36] [info]  [ 2168] Commons Daemon procrun (1.0.15.0 64-bit) started
[2019-12-08 12:14:37] [info]  [ 2168] Running 'sos_joc' Service...
[2019-12-08 12:14:37] [error] [ 2916] Unable to find Java Runtime Environment.

В настоящее время я использую SOS Job Scheduler 1.11, и мне удалось запустить его, установив vm свойства в config\factory.ini и config\sos.ini указать на bin\server\jvm.dll внутри установки AdoptOpenJDK. Я установил то же самое в конфигурации 1.13 Job Scheduler. Но я не вижу нигде в файлах конфигурации "Jetty" для JOC 1.13, чтобы сделать подобную настройку.

Я добавил в систему каталог AdoptOpenJDK JRE %PATH% как было предложено в файлах конфигурации SOS, но это не имело видимого эффекта. Я также установил систему %JAVA_HOME% и %JRE_HOME% указать на AdoptOpenJDK; тоже никакого эффекта. В любом случае я бы предпочел не делать этого, потому что это глобальные настройки, которые повлияют на другие приложения, также работающие на этом сервере.

Мы не используем Oracle JDK / JRE из-за новых условий лицензирования Oracle Java, согласно которым он больше не является бесплатным для производственного использования.

Это в Windows Server 2016 Datacenter в Azure.

Это может быть немного поздно, но я заставил это работать. Ваши пути могут быть разными, поэтому я бы проверил их перед запуском команд. Вот как.

Установите OpenJDK13U-jdk_x64_windows_openj9_13.0.2_8_openj9-0.18.0.msi из https://github.com/AdoptOpenJDK/openjdk13-binaries/releases/download/jdk-13.0.2%2B8_openj9-0.18.0/OpenJDK13U-jdk_x64_windows_openj9_13.0.2_8_openj9-0.18.0.msi

Убедитесь, что для переменной системной среды JAVA_HOME задан путь AdoptOpenJDK. Мой - C: \ Program Files \ AdoptOpenJDK \ jdk-13.0.2.8-openj9 \ bin и должен быть по умолчанию.

Также убедитесь, что переменная системной среды PATH включает путь AdoptOpenJDK.

Откройте командную строку с правами администратора, выполните следующие команды:

"C:\Program Files\sos-berlin.com\joc\service\set_java_home_for_jetty_windows_service.cmd" "C:\Program Files\AdoptOpenJDK\jdk-13.0.2.8-openj9"
cd "C:\Program Files\sos-berlin.com\joc\jetty_base"
"C:\Program Files\AdoptOpenJDK\jdk-13.0.2.8-openj9\bin\java" -jar "C:\Program Files\sos-berlin.com\joc\jetty\start.jar" --create-startd --add-to-start=jsp

Вы все равно получите такую ​​ошибку:

Error scanning entry com/ibm/icu/impl/data/LocaleElements_zh__PINYIN.class from jar file:///C:/Users/Username/.m2/repository/com/ibm/icu/icu4j/2.6.1/icu4j-2.6.1.jar"

Это известная проблема с данной версией файла icu4j-2.6.1.jar. Вы должны его заменить. Загрузите файл icu4j-65_1.jar из https://github.com/unicode-org/icu/releases/download/release-65-1/icu4j-65_1.jar.

Файл C: \ ProgramData \ sos-berlin.com \ joc \ jetty_base \ webapps \ joc.war необходимо обновить новым файлом icu4j.

Скопируйте файл joc.war в его собственную временную папку.
Выполните следующую команду в открытой командной строке:

cd C:\YourTempFolder
jar -xvf joc.war

Удалите файл icu4j-2.6.1.jar в папке WEB-INF \ lib. Скопируйте файл icu4j-65_1.jar в папку WEB-INF \ lib.

Выполните следующую команду в открытой командной строке:

rm joc.war   
jar -cvf joc.war *
rename "C:\ProgramData\sos-berlin.com\joc\jetty_base\webapps\joc.war" "C:\ProgramData\sos-berlin.com\joc\jetty_base\webapps\joc.war.old"
copy joc.war C:\ProgramData\sos-berlin.com\joc\jetty_base\webapps

Перезагрузите машину.

Откройте диспетчер задач, выберите вкладку «Службы» и убедитесь, что служба sos_scheduler_YourMachinename_40444 запущена. Если нет, убедитесь, что служба sos_joc остановлена, а затем запустите службу sos_scheduler_YourMachinename_40444. Как только это будет запущено, запустите службу sos_joc.

Щелкните ссылку на рабочем столе, чтобы открыть JOC. Тебе должно быть хорошо.