Примечание : JSR-352, Java EE, для wildfly 17.0.1, без пружины
Я определил следующую работу в xml:
<?xml version="1.0" encoding="UTF-8"?>
<job id="xml2json" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/jobXML_1_0.xsd" version="1.0">
<flow id="flow">
<step id="step1" next="step2">
<batchlet ref="xmlRead">
</batchlet>
</step>
<step id="step2">
<batchlet ref="notificationBatchlet">
</batchlet>
</step>
</flow>
</job>
Мое требование - обработать остановку задания, и я могу сделать это с переопределением stop () в xmlRead (первый шаг).
Проблема заключается в том, что мне также нужно убедиться, что второй шаг всегда выполняется, но из мои тесты, если я запускаю следующий код в первом пакете XmlRead:
if (shouldStop) {
log.warn("xmlRead - job stopped by user");
return FAILED.toString();
}
В конце состояние выхода для задания будет НЕ УКАЗАНО (правильно!), но второй шаг никогда не будет выполнен.
Есть идеи, как смоделировать этот сценарий?