Лучший способ вызвать код Java от Activiti?
Вопрос
Мы можем вызвать код Java в ActiveIti, используя службу Java или с помощью Groovy Script.В чем разница между этими двумя способами?А какие относительные преимущества и недостатки?
Редактировать -
Groovy Screpts более гибкие, но добавляет дополнительную зависимость.
Может ли любой объяснить другие эффекты этих двух подходов, таких как производительность, устойчивость приложения, что происходит с большим количеством параллельных процессов и т. Д.Решение
У меня есть хороший опыт использования классов обслуживания Java.
Двигатель Activiti создаст экземпляр каждого класса Javaservice только один раз и повторно использовать его в следующий раз, когда он нужен другим рабочим процессом.След памяти будет довольно маленькой. Я не знаю, как это делается на задачах скрипта;Я думаю, что они «собраны» / интерпретируются каждый раз снова и снова, которые могут быть более медленными и / или требуют больше ресурсов и MEM.
Второй момент - отметить, что вы можете создавать абстрактные реализации для классов JavaService, которые уже предоставляют основные реализации.Я не знаю, как это будет работать над скриптами.
Последняя точка, которую я думаю о проверке кода во время компиляции.Там я не знаю, как это обрабатывается при использовании скриптов ...
Надеюсь, мой ответ поможет немного ...
Другие советы
Не уверен, если это хороший ответ или нет, но то, как я думаю об этом.Классы задач службы должны реализовывать интерфейс Javadelegate, в котором метод Execute является то, что называется во время выполнения процесса.
Задачи скрипта Дайте нам больше гибкости в том, что мы можем ссылаться на любой настроенный «боб» и вызовите любой метод, который мы хотим.
Как я могу, это не может быть завершено, но так, как я думаю об этом.