primavera lotto come eseguire un lavoro in loop fino a quando non soddisfa una condizione?

<job id="firstJob" restartable="true"
    xmlns="http://www.springframework.org/schema/batch">
    <step id="FirstStep">
        <tasklet>
            <chunk reader="read" writer="write"
                commit-interval="1" />
        </tasklet>
    </step>
</job>



<job id="second_job" restartable="false"
    xmlns="http://www.springframework.org/schema/batch">
    <step id="second_step" ">
        <tasklet>
            <chunk reader="reader_again" writer="writera_gain"
                commit-interval="500" />
        </tasklet>      
</job>

ho due posti di lavoro qui (3 nel mio attuale codice). voglio eseguire il primo lavoro per verificare un certo valore inThe database ed eseguire solo una volta che trova quel valore. per questo voglio che mantenga il looping fino a che non possa trovare i dati ed allora continui. come posso fare questo attraverso Spring Batch xml? c’è un modo migliore per farlo?

inoltre, non posso cambiare la struttura cioè fare due lavori in due fasi a causa della dimensione del codice.

EN From: Spring batch how to run a job in loop until it meets a condition?

More similar articles:

1 Comment

  1. sì, il flusso di controllo di un lavoro può essere diretto ad un altro lavoro con “esternalizzare le definizioni di flusso”. si può semplicemente utilizzare Mentre (condizione) nel primo lavoro e quindi specificare il flusso per raggiungere il secondo lavoro

    un modo potrebbe essere quello di dichiarare semplicemente il flusso come riferimento ad altri:

    <job id="job">
       <flow id="job1.flow1" parent="flow1" next="step3"/>
       <step id="step3" parent="s3"/>
    </job>
    
    <flow id="flow1">
       <step id="step1" parent="s1" next="step2"/>
       <step id="step2" parent="s2"/>
    </flow>

    dettagli su https://docs.spring.io/spring-batch/trunk/reference/html/configureStep.html#external-flows

Leave a Reply

Your email address will not be published. Required fields are marked *