Разработка динамического кода в IDE Eclipse
Материал из BiTel WiKi
Admin (Обсуждение | вклад) (Новая страница: «Динамический Java код доступен с 5.2 версии биллинга и позволяет реализовывать расширение фу…») |
Admin (Обсуждение | вклад) (→Решение для Windows) |
||
Строка 58: | Строка 58: | ||
== Решение для Windows == | == Решение для Windows == | ||
- | + | ||
+ | Для Windows для монтирования удалённого каталога по SSH возможно использование бесплатного пакета [http://www.eldos.com/sftp-net-drive/download-release.php SFTP Net Drive]. | ||
+ | Удалённый каталог монтируется на логический диск, логический диск линкуется к проекту. | ||
+ | В остальном схема такая идентична описанной выше для Linux. |
Текущая версия на 03:08, 20 февраля 2012
Динамический Java код доступен с 5.2 версии биллинга и позволяет реализовывать расширение функционала с помощью обычных Java классов. При этом параметры быстродействия возрастают до 50 раз по сравнению со скриптами BGBS. Использование IDE позволяет использовать возможности автокомплита и проверки синтаксиса кода по ходу написания. Рассмотрим пример разработки динамического кода в IDE Eclipse.
Исходные требования:
- Установленная Eclipse JDT на машине разработчика.
- Установленный BGBillingServer на Linux сервере с SSH доступом с правами записи в каталог BGBillingServer/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/BGBillingServer "/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 монтировать три каталога отдельно в проект, разницы нет. Монтировать весь каталог BGBillingServer в проект не стоит, т.к. в него будут записаны файлы с конфигурацией проекта.
Решение для Windows
Для Windows для монтирования удалённого каталога по SSH возможно использование бесплатного пакета SFTP Net Drive. Удалённый каталог монтируется на логический диск, логический диск линкуется к проекту. В остальном схема такая идентична описанной выше для Linux.