18.2. JSL(작업 사양 언어) 상속
JBoss EAP batch-jberet 하위 시스템의 기능은 작업 정의의 일반적인 부분을 추상화하기 위해 JSL(작업 사양 언어) 상속을 사용하는 기능입니다.
동일한 작업 XML 파일 내의 단계 및 흐름 상속
상위 요소(예: step 및 flow)는 직접 실행하지 못하도록 abstract="true" 속성으로 표시됩니다. 하위 요소에는 상위 요소를 가리키는 상위 속성이 포함됩니다.
<job id="inheritance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<!-- abstract step and flow -->
<step id="step0" abstract="true">
<batchlet ref="batchlet0"/>
</step>
<flow id="flow0" abstract="true">
<step id="flow0.step1" parent="step0"/>
</flow>
<!-- concrete step and flow -->
<step id="step1" parent="step0" next="flow1"/>
<flow id="flow1" parent="flow0"/>
</job>다른 작업 XML 파일에서 단계 상속
하위 요소(예: step 및 job)에는 다음이 포함됩니다.
-
상위 요소를 포함하는
.xml확장자 없이 작업 XML 파일 이름을 지정하는jsl-name속성. -
상위속성 -jsl-name으로 지정된 작업 XML 파일의 상위 요소를 가리킵니다.
상위 요소는 직접 실행에서 제외하기 위해 abstract="true" 속성으로 표시됩니다.
예: chunk-child.xml
<job id="chunk-child" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
<step id="chunk-child-step" parent="chunk-parent-step" jsl-name="chunk-parent">
</step>
</job>
예: chunk-parent.xml
<job id="chunk-parent" >
<step id="chunk-parent-step" abstract="true">
<chunk checkpoint-policy="item" skip-limit="5" retry-limit="5">
<reader ref="R1"></reader>
<processor ref="P1"></processor>
<writer ref="W1"></writer>
<checkpoint-algorithm ref="parent">
<properties>
<property name="parent" value="parent"></property>
</properties>
</checkpoint-algorithm>
<skippable-exception-classes>
<include class="java.lang.Exception"></include>
<exclude class="java.io.IOException"></exclude>
</skippable-exception-classes>
<retryable-exception-classes>
<include class="java.lang.Exception"></include>
<exclude class="java.io.IOException"></exclude>
</retryable-exception-classes>
<no-rollback-exception-classes>
<include class="java.lang.Exception"></include>
<exclude class="java.io.IOException"></exclude>
</no-rollback-exception-classes>
</chunk>
</step>
</job>