Spring Step - Bedingungen

jhjh

Bekanntes Mitglied
Hallo,

ich bin neu in Spring bzw. Spring Batch und stoße leider schon recht früh auf Probleme bei dem ich nicht weiterkomme.

Ziel ist es, dass je nach Bedingung nur bestimmte Steps nachfolgen sollen. Testweise habe ich erstmal 3 Steps definiert. Zunächst soll Step 1 laufen. Sollte Step 1 erfolgreich durchlaufen (also es kommt zu keiner Fehlermeldung), soll Step3 gestartet werden. Ansonsten Step2.

Beim Ausführen des Jobs bekomme ich die Meldung "Failed to import bean definition from URL location [....JobConfig] ....The element [des] is unreachable

Ich weiß leider auch noch nicht ganz, wie ich überprüfe ob Step1 korrekt durchgelaufen ist oder ob es zu einer bestimmten Fehlermeldung kam :confused:

Über Hilfe wäre ich echt dankbar!

Mein Aufbau sieht so aus

JobConfig
Code:
<job id = „testjob“
<step id = „step1>
       <tasklet ref = „xyz.step1>
</step>



<decision id =“des“ decider =“des“>
     <next on =“FAILED“ to = „step2“ />
     <next on =“COMPLETE“ to = „step3“ />
</decision>

<step id = „step2>
      <tasklet ref = „xyz.step2>
</step>

<step id = „step3>
       <tasklet ref = „xyz.step3>
</step>
<bean id =“des“ class = „xyz.TaskletConfig />



Code:
@Configuration

Public class TaskletConfig implements JobExecutionDecider {

@Bean(name =“xyz.step1“)
@Scope („step1“)
Tasklet testTasklet() {
     return new Tasklet1();
}

@Bean(name =“xyz.step2“)
@Scope („step2“)

Tasklet testTasklet2() {
     return new Tasklet2();
}

@Bean(name =“xyz.step3“)
@Scope („step3“)

Tasklet testTasklet3() {
return new Tasklet3();
}

@Override

Public FlowExecutionStatus decide (final JobExecution arg0, final StepExecution) {

If (step1 erfolgreich durchgelaufen) {
   //  Weiter mit step3
else(
     // Weiter mit step2
}

Code:
Public class TestTasklet1 implements Tasklet {

public TestTasklet1() {

}

@Override

Public RepeatStatus execute (final StepContribution stepContribution, final ChunkContext chunkContext)
           throws Exception {
System.out.println („Erfolgreich“);

return RepeatStatus.FINISHED;
}
 

jhjh

Bekanntes Mitglied
Hallo.
das habe ich tatsächlich abgetippt, da ich in einer virtuellen Umgebung arbeite bei denen ich nichts herauskopieren kann. Ist also nicht die gleiche Schriftart und evtl. fehlt mal eine Klammer oder so.
 

Neue Themen


Oben