Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 6 Следующий »

Динамический код - это Java файлы, которые можно изменять и подгружать без перезапуска приложения. С его помощью можно обрабатывать различные события в системе. Файлы с классами динамического кода располагаются в по-умолчанию каталоге dyn.

Динамические классы необходимо создавать в пакете ru.bgcrm.dyn.<дальнейшая иерархия пакетов> и в соответствующем каталоге.

Параметры динамического кода могут быть настроены в конфигурации.

Для написания динамического кода возможно использование как простого текстового редактора, так и полноценные IDE для Java разработки. Методология при этом аналогична применяемой для разработки в BGBilling.

Компиляция динамического кода осуществляется на вкладке Динамический код интерфейса администратора. Можно скомпилировать только все классы сразу. При успешной компиляции динамический код применяется также целиком.

Как видно из снимка экрана, помимо компиляции в оснастке возможно создание и запуск объекта класса реализующего интерфейс java.lang.Runnable. Кроме данного способа возможны перечисленные в последующих разделах способы создания и применения объектов динамических классов.

Обработчики событий процессов

Имя класса-обработчика может быть указано в свойствах типа процесса.  Создаваемые динамические классы - обработчики событий должны расширять абстрактный класс ru.bgcrm.event.listener.DynamicEventListener. Информацию по типам событий можно получить из API документации к системе в формате JavaDoc.

Запуск и создание объектов при старте сервера

Параметры runOnStart и createOnStart в конфигурации сервера. Указанные в них объекты классов создаются и запускаются для runOnStart при старте сервера.

Вызов динамического класса HTTP запросом

<crmUrl>/admin/dynamic.do?action=runDynamicClass&class=<className>&param1=value&param2=..

Где:

  • <crmUrl> - URL и порт BGCRM;
  • <className> - имя динамического класса.

Класс должен расширять абстрактный класс ru.bgcrm.event.listener.DynamicEventListener в который передаётся событие  ru.bgcrm.event.RunClassRequestEvent.

Примеры

В составе поставки доступны примеры динамических классов в dyn/ru/bgcrm/dyn поименованные как Example* с описанием в комментариях.  Помимо этого вы можете найти примеры динамического кода в нашей WiKi.

  • Нет меток
Документация BGCRM 3.0