...
Как видно из снимка экрана, помимо компиляции в оснастке возможно создание и запуск объекта класса реализующего интерфейс java.lang.Runnable. Кроме данного способа возможны перечисленные в последующих разделах способы создания и применения объектов динамических классов.
Все нижеперечисленные методы подходят и для работы с обычными классами загружаемыми из JAR файлов каталога lib.
Обработчики событий процессов
Имя класса-обработчика может быть указано в свойствах типа процесса. Создаваемые динамические классы - обработчики событий должны расширять абстрактный класс ru.bgcrm.event.listener.DynamicEventListener. Информацию по типам событий можно получить из API документации к системе в формате JavaDoc.
Запуск и создание объектов при старте сервера
Параметры runOnStart и createOnStart в конфигурации сервера. Указанные в них объекты классов создаются и запускаются для runOnStart при старте сервера.
Вызов динамического класса HTTP запросом
Блок кода | ||||
---|---|---|---|---|
| ||||
<crmUrl>/admin/dynamic.do?action=runDynamicClass&iface=<iface>&class=<className>&j_username=<user>&j_password=<pswd>¶m1=value¶m2=.. |
Где:
- <crmUrl> - URL и порт BGCRM;
- <className> - имя динамического класса.
...
- ;
- <user> и <pswd> - логин и пароль пользователя BGCRM, подробнее о запросах внешних систем;
- <iface> - тип класса-обработчика, подробнее ниже.
При параметре <iface> равным event класс должен расширять абстрактный класс
Crm_javadoc | ||
---|---|---|
|
Crm_javadoc | ||
---|---|---|
|
Примеры
В составе поставки доступны примеры динамических классов в dyn/ru/bgcrm/dyn поименованные как Example* с описанием в комментариях. Помимо этого вы можете найти примеры динамического кода в нашей WiKi.