Начиная с версии OpenEdge 12.1, в состав дистрибутива больше не будет включена Java. Вместо этого она должна быть предварительно установлена самим клиентом. Кстати говоря, подобное уже было в прошлых версиях, но, к сожалению, мы к этому вернулись вновь. И дело здесь не в желании или не желании Progress Software. В игру вмешались третьи силы. Как говорится, по не зависящим от нас причинам… Если интересно, можете почитать подробности в документе по этой ссылке: https://community.progress.com/community_groups/openedge_general/m/documents/3662
А пока попробуем разобраться, что же теперь делать нам, простым пользователям.
В первую очередь, конечно, причиной является изменение условий лицензирования поставщиком Java, в результате чего компания Progress Software потеряла возможность продолжать поставлять JDK, как это делала в прошлом. В частности, Oracle JDK 8 или более поздние версии, выпущенные после 1 января 2019 года, не могут распространяться корпорацией Progress Software.
Однако после тщательной оценки доступных вариантов было принято решение продолжить сертификацию всех будущих релизов OpenEdge для следующих типов JDK:
Таким образом, у нас теперь даже появился выбор. Кроме того, самостоятельная инсталляция JDK в качестве предварительного условия позволит OpenEdge-клиентам применять критические обновления, включая обновления безопасности, так часто и так быстро, как это необходимо для конкретной среды. И такой подход вполне согласуется с инструкциями и планами обновления операционных системы и применения критических обновлений.
Рассмотрим основные моменты, которые будет необходимо сделать администратору перед, во время и после инсталляции OpenEdge.
В первую очередь необходимо проверить версию установленной Java на сервере. На всякий случай напомню, как это сделать:
proenv>java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
Список минимально поддерживаемых версий Java, которые могут использоваться с OpenEdge 12.1, приведён в следующей таблице.
Операционная система | Версия Java |
Windows | 1.8.0_101 |
Linux | 1.8.0_101 |
Solaris | 1.8.0_101 |
AIX | 1.8.0_101 |
В следующей таблице приведены ссылки на JDK с разбивкой по операционным системам, пройдя по которым вы сможете скачать соответствующий дистрибутив.
Операционная система | Расположение дистрибутива JDK |
Windows | Oracle - https://www.java.com/en/download/manual.jsp AdoptOpenJDK - https://adoptopenjdk.net/releases.html |
Linux | Oracle - https://www.java.com/en/download/manual.jsp AdoptOpenJDK - https://adoptopenjdk.net/releases.html |
Solaris | Oracle - https://www.java.com/en/download/manual.jsp AdoptOpenJDK - https://adoptopenjdk.net/releases.html |
AIX | https://developer.ibm.com/javasdk/downloads/ |
Установить соответствующий JDK необходимо перед установкой OpenEdge, чтобы инсталлятор мог использовать функции, которые необходимы Java. В связи с этим инсталлятор был изменён с целью использования переменной среды окружения $JAVA_HOME | %JAVA_HOME%, значение которой должно быть указано в специальном поле после ввода серийных номеров и управляющих кодов.
Если путь к каталогу JDK не был введён или введён неправильно, то будет выдано следующее сообщение об ошибке:
После указания правильного каталога инсталлятор продолжит работать в привычном для вас режиме.
Если в своей среде вы используете так называемую инсталляцию без сообщений (silent installation), или другими словами инсталляцию в пакетном режиме, например, для распространения OpenEdge на персональные компьютеры клиентов, то после основной инсталляции в каталоге install будет создан файл response.ini. В этом файле прописан параметр JavaHome, которой присвоен каталог JDK, указанный вами во время инсталляции:
;
; DESCRIPTION of Select JavaHome Dialog
;
; JAVA_HOME - select the java home directory.
; Result - is used as the return code for this section. Only a value of 1 is acceptable.
;
[Select JavaHome Dialog]
JavaHome=C:Program FilesAdoptOpenJDKjdk-8.0.222.10-hotspot
Result=1
Если на других компьютерах JDK расположен в другом месте, то перед стартом инсталляции в пакетном режиме необходимо изменить параметр JavaHome. За более подробной информацией о пакетной инсталляции OpenEdge перейдите по ссылке: How to create a response.ini file for a silent install?
Итак, вы завершили инсталляцию OpenEdge, но через некоторое время по каким-то причинам решили изменить каталог для JDK. Для того, чтобы OpenEdge продолжил работать, достаточно внести соответствующие изменения в текущую инсталляцию. Продукты OpenEdge ищут настройки Java в следующих местах:
Обратите внимание, что OpenEdge не использует системную переменную среды, он просто использует одно и то же имя. Поэтому всегда необходимо указывать каталог JDK через приглашение инсталлятора или путём изменения файла java.properties.
Однако существуют некоторые исключения:
Что произойдёт, если JAVA_HOME не будет установлена или если версия Java в $DLC/properties/java.properties будет неверной?
В этом случае при работе с OpenEdge будут выводиться следующие ошибки:
С каким JDK было проведено тестирование OpenEdge 12.1?
В Progress Software для тестирования OpenEdge 12.1 использовали AdoptOpenJDK.
Какую JVM из AdoptOpenJDK следует использовать с OpenEdge (Hotspot или OpenJ9)?
Для тестирования OpenEdge 12.1 в Progress Software использовался Hotspot JVM.
Какие ошибки встречаются чаще всего?
Можно ли обновлять версию Java, и есть ли какие-либо ограничения на уровень обновлений, которые допустимо применять?
Вы можете выполнять обновление Java, однако вы должны оставаться в пределах поддерживаемой минорной версии. Например, поддерживается версия Java 1.8.0_101, в этом случае вы можете установить любое обновления выше Java 1.8.0, включая _101.
На этом у меня всё. Если у вас остались какие-либо дополнительные вопросы по использованию Java в OpenEdge, то ответы вы наверняка найдёте в Progress Community.
Успешного перехода на OpenEdge 12!