Разработка динамического кода в IDE Eclipse

Динамический Java код доступен с 5.2 версии биллинга и позволяет реализовывать расширение функционала с помощью обычных Java классов. При этом параметры быстродействия возрастают до 50 раз по сравнению со скриптами BGBS. Использование IDE позволяет использовать возможности автокомплита и проверки синтаксиса кода по ходу написания. Рассмотрим пример разработки динамического кода в IDE Eclipse.

Исходные требования:

  1. Установленная Eclipse JDT на машине разработчика.

  2. Установленный 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 в проект не стоит, т.к. в него будут записаны файлы с конфигурацией проекта.

Решение для Windows

Для Windows для монтирования удалённого каталога по SSH возможно использование бесплатного пакета SFTP Net Drive. Удалённый каталог монтируется на логический диск, логический диск линкуется к проекту. В остальном схема такая идентична описанной выше для Linux.