Perkhidmatan Mikro dan API REST Spring Boot 4 · Pelajaran

Kerja dan Langkah Spring Batch

Susun pemprosesan kelompok mengikut langkah.

Pelajaran 2 daripada 413 langkah

Kerja dan Langkah Spring Batch ialah pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 4 pelajaran.

Apakah Spring Batch?

Spring Batch ialah rangka kerja untuk pemprosesan kelompok yang teguh dan bervolume besar: membaca, mengubah dan menulis data secara pukal dengan pengurusan transaksi, pemprosesan cebisan dan keupayaan dimulakan semula terbina dalam.

  • Kerja ETL, pemindahan dan laporan malam
  • Mengendalikan jutaan rekod dengan boleh dipercayai

Menambah kebergantungan

Tambahkan spring-boot-starter-batch. Spring Batch memerlukan sumber data untuk menyimpan metadatanya, iaitu sejarah pelaksanaan kerja dan langkah.

<!-- Maven -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-batch</artifactId>
</dependency>

Konsep teras: Job dan Step

Job ialah keseluruhan proses kelompok. Ia terdiri daripada satu atau lebih Step yang dilaksanakan mengikut turutan. Setiap Step menjalankan satu fasa kerja.

  • Job = unit keseluruhan
  • Step = satu fasa (baca-proses-tulis atau tasklet)

JobRepository dan metadata

JobRepository mengekalkan keadaan pelaksanaan dalam jadual pangkalan data (BATCH_JOB_EXECUTION, BATCH_STEP_EXECUTION...). Inilah yang membolehkan pelaksanaan semula dan menghalang tika kerja yang telah selesai daripada dijalankan semula.

Mentakrifkan Job dengan JobBuilder

Gunakan JobBuilder untuk memasang sesuatu kerja. Berikan nama, JobRepository dan langkah permulaan kepadanya.

@Bean
public Job importJob(JobRepository repo, Step step1) {
    return new JobBuilder("importJob", repo)
            .start(step1)
            .build();
}

Mentakrifkan Step dengan StepBuilder

StepBuilder membina satu langkah. Langkah berasaskan cebisan mengisytiharkan jenis input/output, saiz cebisan serta pembaca, pemproses dan penulis.

@Bean
public Step step1(JobRepository repo,
                  PlatformTransactionManager tx,
                  ItemReader<String> reader,
                  ItemWriter<String> writer) {
    return new StepBuilder("step1", repo)
            .<String, String>chunk(10, tx)
            .reader(reader)
            .writer(writer)
            .build();
}

Pemprosesan berasaskan cebisan

Pemprosesan cebisan membaca item satu demi satu, mengumpulkannya sehingga mencapai saiz cebisan, kemudian menulis keseluruhan cebisan dalam satu transaksi. Jika cebisan gagal, semuanya akan dibuat asal bersama-sama.

  • baca 10 item -> proses setiap satu -> tulis 10 -> lakukan komit

Langkah tasklet

Untuk satu unit kerja, seperti memadam fail atau menjalankan prosedur tersimpan, gunakan langkah Tasklet dan bukannya pembaca/penulis.

@Bean
public Step cleanupStep(JobRepository repo, PlatformTransactionManager tx) {
    return new StepBuilder("cleanup", repo)
            .tasklet((contribution, context) -> {
                deleteTempFiles();
                return RepeatStatus.FINISHED;
            }, tx)
            .build();
}

Merangkai beberapa langkah

Jalankan langkah mengikut turutan dengan .next(). Kerja hanya beralih ke langkah seterusnya jika langkah sebelumnya berjaya.

@Bean
public Job pipeline(JobRepository repo, Step extract, Step transform, Step load) {
    return new JobBuilder("etl", repo)
            .start(extract)
            .next(transform)
            .next(load)
            .build();
}

JobParameters

JobInstance dikenal pasti melalui namanya bersama JobParameters. Parameter yang berbeza, contohnya tarikh, menghasilkan tika yang berbeza. Dengan cara inilah anda menjalankan semula kerja untuk hari baharu.

JobParameters params = new JobParametersBuilder()
        .addString("runDate", "2026-05-30")
        .toJobParameters();
jobLauncher.run(importJob, params);

Melancarkan kerja dalam Spring Boot

Secara lalai, Spring Boot menjalankan semua kerja yang ditakrifkan semasa permulaan. Matikannya dengan spring.batch.job.enabled=false dan lancarkan secara manual melalui JobLauncher apabila anda memerlukan kawalan, contohnya mengikut jadual.

Semakan Pantas

Semak pemahaman anda tentang struktur Job dan Step.

Ringkasan

Kini anda memahami model kelompok:

  • Job mengandungi Step yang tersusun
  • JobBuilder / StepBuilder memasangnya
  • Langkah cebisan membaca-memproses-menulis dalam transaksi; langkah tasklet melaksanakan satu unit
  • JobParameters mengenal pasti JobInstance dan membolehkan pelaksanaan semula
Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
24
Pelajaran
93

Soalan Lazim

Adakah pelajaran “Kerja dan Langkah Spring Batch” percuma?

Ya — teks penuh “Kerja dan Langkah Spring Batch” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Perkhidmatan Mikro dan API REST Spring Boot 4, tingkat taraf kepada CoddyKit PRO. Kursus Perkhidmatan Mikro dan API REST Spring Boot 4 merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Kerja dan Langkah Spring Batch”?

Susun pemprosesan kelompok mengikut langkah. Anda berlatih Perkhidmatan Mikro dan API REST Spring Boot 4 menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Perkhidmatan Mikro dan API REST Spring Boot 4?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Kerja dan Langkah Spring Batch” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 ini?

Ya. Setiap pelajaran Perkhidmatan Mikro dan API REST Spring Boot 4 menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Penjadualan dengan @Scheduled
  2. Kerja dan Langkah Spring Batch
  3. Pembaca, Pemproses dan Penulis
  4. Pemulaan Semula dan Pengendalian Ralat
← Kembali ke Perkhidmatan Mikro dan API REST Spring Boot 4