5.2. JDK

Java - язык, на котором написан биллинг, является интерпретируемым и запускается с помощью специальной программы - Java-машины. Для нормальной работы необходимо JDK версии 1.7.0, либо выше. Последнюю версию для вашей платформы можно найти по адресу http://www.oracle.com/technetwork/java/javase/downloads. Необходимо загрузить именно Java SE JDK(Java-машина + средства разработки), а не JRE (только Java-машина), т.к. биллинг использует динамическую компиляцию кода, кроме того, средства разработки могут быть полезны при расследовании нештатных ситуаций в системе.

Обратите внимание, что для нормальной работы приложений биллинга необходима JDK производства Oracle. Соответственно, приложения биллинга, в общем случае, могут быть запущены на любой платформе, для которой выпускается JDK. Это Windows, Linux, Solaris. В официальной поставке включены скрипты запуска только для Linux (Bash скрипты, скрипты сервисов для RPM-дистрибутивов) и Windows (Batch).

JDK должна быть установлена на всех серверах с компонентами биллинга, в т.ч. на клиентских машинах. Также JDK необходим для запуска ActiveMQ.

5.2.1. Linux

Загрузите .bin файл (например jdk-6u2-linux-i586.bin), скопируйте его в директорию /opt/java (создайте, если её нет), перейдите в неё, дайте права на исполнение файла и запустите. Программа проинсталлируется в текущий каталог, создав подкаталог, например jdk1.6.0_02. Путь /opt/java/jdk1.6.0_02 является JAVA_HOME - путём к Java-машине. Для более удобного обновления Java в дальнейшем рекомендуем перейти в папку /opt/java и создать символическую ссылку /opt/java/jdk.

ln -s jdk1.6.0_02 jdk

В скриптах в качестве переменной JAVA_HOME указывать /opt/java/jdk.

Замечание

При использовании 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, либо в любом другом логе.

5.2.2. Windows

Загрузите установочный .exe файл (например jdk-6u25-windows-i586.exe) и запустите его установку. Рекомендуем устанавливать ближе к корню диска, например C:\Java\Jdk-1.6.0. Иначе при установке в Program Files путь будет содержать пробелы, что неудобно при использовании в batch-файлах и командной строке.

Установка производится мастером, смените каталог установки на не содержащий пробелы, выбрав опцию Change destination folder в начале установки.

Проверьте, что системная переменная JAVA_HOME указывает на каталог установки JDK, а также на наличие в переменной PATH пути до исполнимого файла java.exe. Команда java -version в консоли должна возвращать правильную версию Java-машины.