Разработка динамического кода в IDE Eclipse
Динамический Java код доступен с 5.2 версии биллинга и позволяет реализовывать расширение функционала с помощью обычных Java классов. При этом параметры быстродействия возрастают до 50 раз по сравнению со скриптами BGBS. Использование IDE позволяет использовать возможности автокомплита и проверки синтаксиса кода по ходу написания. Рассмотрим пример разработки динамического кода в IDE Eclipse.
Исходные требования:
-
Установленная Eclipse JDT на машине разработчика.
-
Установленный BillingServer на Linux сервере с SSH доступом с правами записи в каталог BillingServer/dyn.
Создайте Java проект, например BillingRemoteCode. Расположен в каталоге /home/shamil/projects_ecl/BillingRemoteCode.
Смонтируйте удалённый каталог с доступом по SSH на локальную файловую систему.
Решение для LINUX с использованием пакетов sshfs и fuse-utils.
Монтирование удалённого каталога из под пользователя shamil.
# добавление группы fuse пользователю shamil, выполняется однократно
sudo gpasswd -a shamil fuse
# каталог для монтирования
mkdir /tmp/1
# монтирование
sshfs <user>@<host>:/opt/BillingServer "/tmp/1"
# для демонтирования каталога использовать
fusermount -u /tmp/1
Создайте ссылку из проекта на каталог с библиотеками и динамическим кодом.
ln -s /tmp/1/dyn /home/shamil/projects_ecl/BillingRemoteCode/src_dyn
ln -s /tmp/1/lib/app /home/shamil/projects_ecl/BillingRemoteCode/lib_app
ln -s /tmp/1/lib/ext /home/shamil/projects_ecl/BillingRemoteCode/lib_ext
Обновите проект. Правой кнопкой на проект и Refresh.
Нажмите по проекту в дереве проектов правой кнопкой мыши и выберите New ⇒ Source Folder. Выберите каталог src_dyn. Вызовите свойства проекта: правой кнопкой и Properties. На вкладке Libararies нажмите Add JARs и выберите все библиотеки из каталогов lib_app и lib_ext.
Теперь в вашем распоряжении полноценная среда разработки. Вы можете править существующие классы, создавать новые. Все изменения будут сразу сохраняться в каталог dyn сервера. После завершения правки необходимо вызывать полную перекомпиляцию динамического кода в биллинге через.
В принципе, можно было с помощью sshfs монтировать три каталога отдельно в проект, разницы нет. Монтировать весь каталог BillingServer в проект не стоит, т.к. в него будут записаны файлы с конфигурацией проекта.