Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

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

Все нижеперечисленные методы подходят и для работы с обычными классами загружаемыми из JAR файлов каталога lib.

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

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

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

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

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

Блок кода
languageruby
linenumbersfalse
<crmUrl>/admin/dynamic.do?action=runDynamicClass&iface=<iface>&class=<className>&j_username=<user>&j_password=<pswd>&param1=value&param2=..

Где:

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

...

  • ;
  • <user> и <pswd> - логин и пароль пользователя BGCRM, подробнее о запросах внешних систем;
  • <iface> - тип класса-обработчика, подробнее ниже.

При параметре <iface> равным event класс должен расширять абстрактный класс

Crm_javadoc
Nameru.bgcrm.event.listener.DynamicEventListener
в который передаётся событие 
Crm_javadoc
Nameru.bgcrm.event.RunClassRequestEvent
. В противном случае класс может реализовать интерфейс java.lang.Runnable, который просто будет запущен.

Примеры

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

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