У меня есть состояние действия, которое оценивает выражение и затем переходит в различные другие состояния в зависимости от результата. Одно из состояний результата - состояние подпотока, которое передает управление другому потоку, например;
<action-state id="doWork">
<evaluate expression="someAction.doWork(someInput)" />
<transition on="WORKSUCCESS" to="workSuccess" />
<transition on="WORKFAIL" to="fixFail" />
</action-state>
<subflow-state id="fixFail" subflow="someOtherPlace/someOtherWorkToFixFail">
<input name="someNumber" value="1" type="java.lang.Integer" />
<transition on="finish" to="workSuccess" />
</subflow-state>
Как вы можете видеть, я могу передать входные данные в подпоток через тег input, но мой вопрос в том, как я могу указать и передать дополнительные входные данные что я хочу присутствовать тогда и только тогда, когда состояние подпотока вызывается из перехода WORKFAIL? Предположим, что состояние подпотока «fixFail» может быть вызвано из других состояний действия.
I ' Я пробовал что-то подобное, но безрезультатно:
<action-state id="doWork">
<evaluate expression="someAction.doWork(someInput)" />
<transition on="WORKSUCCESS" to="workSuccess" />
<transition on="WORKFAIL" to="fixFail">
<attribute name="newInput" value="3000" type="java.lang.Integer" />
</transition>
</action-state>
<subflow-state id="fixFail" subflow="someOtherPlace/someOtherWorkToFixFail">
<input name="someNumber" value="1" type="java.lang.Integer" />
<input name="someNumber2" value="flowScope.newInput" type="java.lang.Integer" />
<transition on="finish" to="workSuccess" />
</subflow-state>