JDK
Для запуска и работы биллинга требуется Java SE Development Kit 8 (или сокращенно - JDK8). Последнюю версию для вашей платформы можно найти по адресу http://www.oracle.com/technetwork/java/javase/downloads/index.html. Необходимо загрузить именно Java SE JDK (JRE + средства разработки), а не JRE (только Java-машина), т.к. биллинг использует динамическую компиляцию кода, кроме того, средства разработки могут быть полезны при расследовании нештатных ситуаций в системе.
Обратите внимание, что для нормальной работы приложений биллинга рекомендуется JDK производства Oracle. Приложения биллинга, в общем случае, могут быть запущены на любой платформе, для которой выпускается JDK. Это Windows, Linux, Solaris, MacOS. В официальной поставке включены скрипты запуска только для Linux (sh-скрипты, скрипты сервисов) и Windows (Batch).
JDK должна быть установлена на всех серверах с компонентами биллинга, в т.ч. на клиентских машинах. Также JDK необходим для запуска ActiveMQ.
Linux
Загрузите .tar.gz файл (например, jdk-8u191-linux-x64.tar.gz), скопируйте его в директорию /opt/java (создайте, если её нет), перейдите в неё, распакуйте архив, появится подкаталог, например jdk1.8.0_191. Для более удобного обновления Java в дальнейшем рекомендуем перейти в папку /opt/java и создать символическую ссылку /opt/java/jdk8 к папке /opt/java/jdk1.8.0_191.
ln
-s jdk1.8.0_191 jdk8
Путь /opt/java/jdk8 является JAVA_HOME - путём к Java-машине. Вы можете указать JAVA_HOME глобально для всех приложений, создав файл /etc/profile.d/java_home.sh с содержимым:
#!/bin/sh
JAVA_HOME=
/opt/java/jdk8
Или же вы можете указать 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
Загрузите установочный .exe файл (например jdk-8u191-windows-x64.exe) и запустите его установку. Рекомендуем устанавливать ближе к корню диска, например C:\Java\JDK8. Иначе при установке в Program Files путь будет содержать пробелы, что неудобно при использовании в batch-файлах и командной строке.
Установка производится мастером, смените каталог установки на не содержащий пробелы, выбрав опцию Change destination folder в начале установки.
Проверьте, что системная переменная JAVA_HOME указывает на каталог установки JDK, а также на наличие в переменной PATH пути до исполнимого файла java.exe. Команда java -version в консоли должна возвращать правильную версию Java-машины.