Верблюжий сценарий:
- прочитать файл
- сделать что-то, например, сохранить содержимое в базе данных
- запустить процесс активности и передать переменную с предыдущего шага
Построитель маршрутов:
from("file:/home/work/Inbox")
.to("bean:sourceFileService?method=storeFile")
.to("activiti:Receive?copyVariablesFromProperties=true")
Во время вызова bean-компонента sourceFileService устанавливается свойство sourceFileId. Эта переменная должна быть передана процессу Получить как переменная.
Если я не использую copyVariablesFromProperties, ни одна переменная не устанавливается в процессе. С другой стороны, когда copyVariablesFromProperties=true, тогда верблюд пытается передать все свойства, и возникает исключение:
ActivitiException: не удалось найти тип переменной, способный сериализовать GenericFile.
(поскольку одним из свойств является объект, представляющий прочитанный файл, есть 7 других нежелательных свойств)
Как передать только выбранное свойство в конечную точку активности или в верблюда к любому следующему «до»?