Я создаю контроллер Activiti, который может прослушивать сообщения и отключать процессы по требованию.
Я пытался использовать Java:
Process p = Runtime.getRuntime().exec("java -jar ...");
, так как работает нормально, когда я запускаю обычные java-исполняемые файлы jar, но в случае запуска экспортируемых проектов Activiti вызов, похоже, зависает до завершения работы контроллера Activiti.
Контроллер:
while(1){
print "listening"
recv message
print "executing"
exec process
print "done"
}
При получении сообщения отображаются все отпечатки, включая возврат к началу цикла. Но до тех пор, пока я не закрою приложение принудительно или не удалим цикл while полностью, процесс фактически не будет запущен.
Когда код контроллера завершен, в командной строке можно увидеть весь файл Activiti jar.
** Это не просто удержание вывода и его отображение в конце, я знаю это, потому что рабочий процесс передает сообщения другим службам, которые я могу отслеживать для Activiti.
** Я попытался использовать runnable и thread вместо этого, поместив exec в другой класс, и то же поведение демонстрируется.