Для запуска и работы биллинга требуется Java SE Development Kit (или сокращенно - JDK). Необходимо загрузить именно Java SE JDK (JRE + средства разработки), а не JRE (только Java-машина), т.к. биллинг использует динамическую компиляцию кода, кроме того, средства разработки могут быть полезны при расследовании нештатных ситуаций в системе.
Приложения биллинга, в общем случае, могут быть запущены на любой платформе, для которой выпускается JDK. Это Windows, Linux, Solaris, MacOS. В официальной поставке включены скрипты запуска только для Linux (sh-скрипты, скрипты сервисов) и Windows (Batch).
JDK должна быть установлена на всех серверах с компонентами биллинга, в т.ч. на клиентских машинах. Также JDK необходим для запуска ActiveMQ.
Для биллинга версии
- 8.0 требуется JDK8 (https://adoptopenjdk.net)
- 8.2101+ требуется JDK15 (https://adoptopenjdk.net)
- 8.2204+ требуется JDK17 (https://adoptium.net)
Linux
Загрузите jdk, скопируйте его в директорию /opt/java (создайте, если её нет), перейдите в неё, распакуйте архив, появится подкаталог, например jdkXXX. Для более удобного обновления Java в дальнейшем рекомендуем перейти в папку /opt/java и создать символическую ссылку /opt/java/jdk к папке /opt/java/jdkXXX.
Путь /opt/java/jdk является JAVA_HOME - системной переменной, являющейся путём к Java-машине. Вы можете указать JAVA_HOME глобально для всех приложений, создав файл /etc/profile.d/java_home.sh с содержимым:
#!/bin/sh JAVA_HOME=/opt/java/jdk
Или же вы можете указать JAVA_HOME в скриптах запуска (например, в файле setenv.sh в BGBillingServer).
При использовании Gentoo Linux обнаружена проблема с некорректным определением java текущей временной зоны. Данная ошибка связана с тем, что Oracle Java определяет временную зону по содержимому файла /etc/sysconfig/clock, который отсутствует в данном дистрибутиве.
Для решения проблемы создайте этот файл самостоятельно, заполнив следующим содержимым:
# The ZONE parameter is only evaluated by system-config-date. # The timezone of the system is defined by the contents of /etc/localtime. ZONE="Asia/Yekaterinburg" UTC=false ARC=false
Название временной зоны вы можете получить из названия каталога и файла в /usr/share/zoneinfo. Правильность установки зоны можно проверить по отметкам времени, выводимому в логе BGBillingServer/log/server.log, либо в любом другом логе.
Windows
Загрузите установочный jdkXXX.exe файл и запустите его установку. Рекомендуем устанавливать ближе к корню диска, например C:\Java\JDK. Иначе при установке в Program Files путь будет содержать пробелы, что неудобно при использовании в batch-файлах и командной строке.
Установка производится мастером, смените каталог установки на не содержащий пробелы, выбрав опцию Change destination folder в начале установки.
Проверьте, что системная переменная JAVA_HOME указывает на каталог установки JDK, а также на наличие в переменной PATH пути до исполнимого файла java.exe. Команда java -version в консоли должна возвращать правильную версию Java-машины.