С версии 7.1+ (в сборках от 15 января 2019 и позднее) доступен новый способ запуска клиента биллинга BGClientRunner. Данный вариант является рекомендуемым способом запуска клиента биллинга.
Для запуска клиента биллинга данным способом, необходимо:
- На клиентском компьютере должна быть установлена виртуальаная машина Java (JRE)
- Загрузить архив с BGClientRunner на клиентский компьютер (например отсюда ftp://ftp.bgbilling.ru/pub/bgbilling/7.2/)
- Распаковать архив в домашнем каталоге пользователя или на сетевом диске если клиент будет запускать несколько пользователей.
- Убедиться, что установлена и корректно настроена системная переменная JAVA_HOME
- При необходимости настроить адреса сервера(ов) биллинга по умолчанию, которые будут использоваться при запуске BGClientRunner. Доступно несколько способов задания списка доступных серверов:
- в файле config.json из архива BGClientRunner
- на локальном сервере, при запуске BGClientRunner пытается загрузить список серверов с сайта http://billing.local/servers.json (пример файла config_http.json см. архиве BGClientRunner). Адрес сайта и имя файла могут быть заданы в файле config.json, парметр "configURL" : "none". Значение "none" отключает загрузку с сайта.
- ручной ввод данных сервера в интерфейсе BGClientRunner.
- Войти на сервер. При установке базы биллинга в ней создаётся единственный пользователь admin c паролем admin. После первого входа желательно поменять пароль в целях безопасности.
Алгоритм работы BGClientRunner
Программа использует похожий на JavaWebStart алгоритм запуска программы с дополнительные возможностями.
После запуска BGClientRunner, выбора сервера, и ввода логина и пароля, BGClientRunner обращается к серверу биллинга за списком библиотек необходимых для запуска клиента биллинга. Сервер возращает список библиотек и их контрольные суммы. BGClientRunner проверяет наличие запрашиваемых библиотек в локальном кеше клиента (в домашнем каталоге пользователя, каталог ./bgbilling/libs). Отсутствующие библиотеки или отличающиеся по контрольной сумме, загружаются с сервера и сохраняются в кеше. При наличие в кеше всех необходимых библиотек, BGClientRunner запускает клиент биллинга в виде отдельно java процесса. Кроме списка библиотек с сервера загружает контрольная сумма всех библиотек, которая передается клиенту при запуске и используется в процессе работы клиента для контроля совпадения версии клиента и сервера, в случае обновления сервера, его контрольная сумма меняется и в клиенте выводится сообщение о необходимости перезапуска(обновления) клиента.
BGClientRunner позволяет одновременно запускать несколько клиентов биллинга разных версий (в том числе, например 7.1 и 8.0) без необходимости переустановки клиента.
В процессе работы BGClientRunner сохраняет вручную добавленные сервера, а также логины и пароли, в домашнем каталоге пользователя, в файле ./bgbilling/servers.json
В BGClientRunner встроен механизм очистки кеша от редко используемых библиотек. По умолчанию библиотеки не использованные для запуска клиента более 15 дней удаляются из кеша. Данный срок может быть изменен с помощью ключа запуска -Dbg.client.runner.cache.period=15 Дата последнего использования библиотеки хранится, в домашнем каталоге пользователя, в файле ./bgbilling/cache.json
Часто задаваемые вопросы
1. При подключение выдается ошибка
Ошибка
"Выбранный сервер не поддерживает данный режим запуска клиента. Необходимо настроить сервер."
Данная проблема возможна по следующим причинам
- Сервер биллинга не поддерживает данный способ запуска, необходимо обновить сервер до более поздних версий
- Сервер биллинга находится например за nginx, на котором не настроен доступ к сервлету http://host[:port]/[bgbilling/]clientUpdate/*
2. Использование самоподписанного сертификата на сервере биллинга
Для отключение проверки валидности сертификата в config.json или config.json загружаемого с сервера, нужно указать параметр "anySSL" : "true"
3. Запуск клиента биллинга в debug режиме
Если перед нажатием кнопки Войти в BGClientRunner щелкнуть по ссылке по "показать дополнительные параметры" и установить галочку режим отладки, то в этом случае после запуска клиента биллинга, в домашнем каталоге пользователя будет создан файл debug_XXXXXXXXXX.log с логами обмена запросами клиента и сервера.