[JAVA] Erstellen Sie in Eclipse ein einfaches Stapelverarbeitungsframework.

Dieser Artikel beschreibt direkt, was ich beim Erstellen eines Stapelverarbeitungsprozesses in Eclipse getan habe, indem ich zunächst versucht habe, ein einfaches Framework zu erstellen.

Das Bild der Stapelverarbeitung selbst ist, dass die Verarbeitungszeit als separater Prozess lang ist (Eingabe einer großen Datenmenge, Verarbeitung und Ausgabe). Ich hatte also keine Ahnung von Jobs oder Aufgaben und stellte mir so etwas wie die Ausführung eines langen Prozesses in der Hauptfunktion vor. Als ich jedoch tatsächlich die Funktionen von SpringFramework verwendete, musste ich über Jobs und Aufgaben nachdenken. Führen Sie also zuerst den Job über die Hauptfunktion aus, führen Sie die Aufgabe über den Job aus und machen Sie bis zu dem Punkt, an dem der Endcode festgelegt ist.

Lassen Sie uns zunächst den folgenden Stapelprozess erstellen. ・ BatchTestApplication (Haupt) => Starten Sie BatchTestJob. (Verwenden von Spring Framework) ・ BatchTetJob => Starten Sie BatchTestTasklet. ・ BatchTestTasklet => Ausgabe "BatchTestTasklet Start OK" (setze den Endcode auf 1)

Punkt: Das Festlegen des Endcodes in der Stapelverarbeitung ist etwas kompliziert. (1) Implementieren Sie die ExitCodeGenerator-Schnittstelle in der BatchTestTasklet-Klasse. (2) Überschreiben Sie die Methode getExitCode und geben Sie den darin enthaltenen Rückgabewert zurück. (3) Der Rückgabewert von (2) wird im Rückgabewert von SpringApplication.exit festgelegt.

・BatchTestApplication.java

package com.example.demo;

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext;

@SpringBootApplication public class BatchTestAppApplication {

public static void main(String[] args) {
	ApplicationContext context = SpringApplication.run(BatchTestAppApplication.class, args);
	int iRet = SpringApplication.exit(context);
	System.out.println(iRet);
	System.exit(iRet);
}

}

・BatchTestJob.java

package com.example.demo;

import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; import org.springframework.batch.core.launch.support.RunIdIncrementer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component;

@Component @EnableBatchProcessing public class BatchTestJob {

@Autowired
private JobBuilderFactory jobFactory;

@Autowired
private StepBuilderFactory stepFactory;

@Autowired
private BatchTestTasklet batchTestTasklet;

@Bean
public Step step1() {
	return stepFactory
			.get("step1")
			.tasklet(batchTestTasklet)
			.build();
}

@Bean
public Job job(Step step1) {

	return jobFactory
			.get("job")
			.incrementer(new RunIdIncrementer())
			.start(step1)
			.build();
}

}

・BatchTestTasklet.java

package com.example.demo;

import org.springframework.batch.core.StepContribution; import org.springframework.batch.core.scope.context.ChunkContext; import org.springframework.batch.core.step.tasklet.Tasklet; import org.springframework.batch.repeat.RepeatStatus; import org.springframework.boot.ExitCodeGenerator; import org.springframework.stereotype.Component;

@Component public class BatchTestTasklet implements Tasklet, ExitCodeGenerator {

@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {

	System.out.println("BatchTestTasklet Start OK");
	return RepeatStatus.FINISHED;
}

@Override
public int getExitCode() {
	return 1;
}

}

Recommended Posts

Erstellen Sie in Eclipse ein einfaches Stapelverarbeitungsframework.
Erstellen Sie in Eclipse eine Basis für Ihr Stapelverarbeitungsprojekt.
Erstellen Sie ein Servlet-Programm in Eclipse
Erstellen Sie mit Spring Batch eine einfache On-Demand-Charge
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
Erstellen Sie ein Tomcat-Projekt mit Eclipse Pleiades All in One
3 Implementieren Sie einen einfachen Interpreter in Java
Erstellen Sie ein Tomcat-Projekt mit Eclipse
Erstellen Sie eine Datenbank in einer Produktionsumgebung
Erstellen Sie eine neue App mit Rails
Erstellen Sie ein Java-Projekt mit Eclipse
Ein einfaches Beispiel für Rückrufe in Java
Ich habe versucht, eine einfache Karten-App in Android Studio zu erstellen
Erstellen Sie mit Dropwizard eine einfache Webanwendung
Erstellen einer Lambda-Entwicklungsumgebung mit Eclipse
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
Erstellen eines einfachen Balkendiagramms mit MPAndroidChart
Spielen Sie die Framework 2.6 (Java) -Umgebungskonstruktion mit Eclipse
Erstellen Sie eine TODO-App in Java 7 Create Header
Escape-Verarbeitung beim Erstellen einer URL in Ruby
Erstellen Sie mit Spring Boot eine einfache Such-App
Erstellen Sie eine CSR mit erweiterten Informationen in Java
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
Versuchen Sie, ein Bulletin Board in Java zu erstellen
Erstellen Sie mit SwiftUI 2.0 eine benutzerdefinierte Registerkartenansicht
So erstellen Sie ein Thema in Liferay 7 / DXP
Zeichnen Sie ein Mandelbrot-Set, das mit Processing zu schön ist
Erstellen Sie in Salesforce ein Tool zur Namensidentifizierung
[1.] So erstellen Sie ein Spring-MVC-Framework-Projekt
So erstellen Sie einfach ein Pulldown mit Rails
So generieren Sie automatisch einen Konstruktor in Eclipse
MVC in Eclipse.
Erstellen Sie eine vielseitige Verarbeitung
Ich habe ein einfaches Berechnungsproblemspiel in Java gemacht
Senden Sie einen Job an AWS Batch mit Java (Eclipse)
[CentOS, Eclipse] Lädt Bibliotheksdateien in C-Projekt
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
[Persönliches Memo] Erstellen Sie eine einfache, tiefe Kopie mit Java
So erstellen Sie einen Daten-URI (base64) in Java
Informationen zum Hinzufügen von Variablen in der iterativen Verarbeitung in der while-Anweisung
Erstellen Sie mit Spring Security 2.1 eine einfache Demo-Site mit Spring Security
[Vollständige Programmierung] §5 Erstellen Sie eine Überprüfungsverwaltungs-App in Ruby
Rufen Sie ein in Swift geschriebenes Programm von Processing (Java) auf.
Erstellen Sie in JavaFX ein rahmenloses, nicht rechteckiges Fenster ohne Taskleiste