Я новичок в jBPM. Я тестирую jBPM 7.32.0.Final.
Среда была настроена установщиком (ant install.demo).
Мой пример использования:
Я пытаюсь разработать и протестировать пользовательский обработчик рабочих элементов (как показано в https://www.youtube.com/watch?v=_XIZ0KRTahE), который использует oracle jdb c драйвер.
В консоли jbpm, которую я создал: новое определение рабочего элемента (CustomTask) , новый бизнес-процесс, который использует пользовательскую задачу, добавил обработчик рабочего элемента в проект, создал реализацию обработчика в Eclipse, загрузил артефакт в хранилище и добавил зависимость артефакта в проект.
Проблема:
Простой артефакт без транзитивных зависимостей работает нормально. Проблемы возникают, когда я добавляю зависимость от драйвера jdb c, который должен использоваться в обработчике рабочего элемента.
Что я сделал для разрешения переходной зависимости:
Используя консоль jbpm, я загрузил еще один артефакт с jar драйвера jdb c (ojdbc8.jar) в хранилище и добавил зависимость к артефакту обработчика рабочего элемента в артефакте драйвера jdb c. (редактируя pom обработчика. xml).
Наблюдаемое поведение:
Когда я пытаюсь запустить новый экземпляр процесса в консоли jbpm, я получаю
«Ошибка обработки запроса» ( Контекстный путь: / k ie -server, Путь сервлета: / services / rest, Информация о пути: /server/containers/cust-mod_1.0.0-SNAPSHOT/processes/Custom_Module_Project.TEST/instances, Строка запроса: null)
и в файле server.log я вижу:
Причина: java .lang.ClassNotFoundException: oracle .simplefan.FanManager
, который является классом из другого oracle файла jar simplefan.jar.
Примечание. Когда я выполняю модульное тестирование в Eclipse, требуется только библиотека ojdbc8.jar !!
затем при удалении транзитивной зависимости от pom. xml в артефакте рабочего элемента и повторного развертывания проекта (без перезапуска jbpm), неожиданно я могу запустить новый экземпляр, и он отлично работает !!!
затем, когда я перезапускаю jBPM и пытаюсь запустить новый экземпляр, новый экземпляр запускается, однако пользовательская задача процесса вызывает исключение, которое я вижу в server.log:
java .lang.ClassNotFoundException: oracle .jdb c .OracleDriver
Когда я повторяю вышеупомянутые шаги, я могу воспроизвести все то же самое поведение.
Возможно, я упускаю что-то важное. Кто-нибудь может направить меня к правильным шагам / процедуре? Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Очень ценится.