2016-10-14 23 views
7

Tôi rất mới trong Spring Batch. Bất cứ ai có thể giúp tôi ra ngoài để giải thích sự khác biệt giữa Bước, Tasklet và Chunk trong lô mùa xuân. Ngoài ra tôi có một nghi ngờ nữa nếu chúng tôi muốn chạy một số bước song song cách thức ra trong lô mùa xuân cho nó là gì.Sự khác biệt giữa Bước, Tasklet và Chunk trong Spring Batch

+2

có thể trùng lặp của [Quyết định giữa mùa xuân hàng loạt bước, Tasklet hoặc Chunks] (http: //stackoverflow.com/questions/17143575/deciding-between-spring-batch-step-tasklet-or-chunks) –

+0

Đọc tài liệu SB. Những gì bạn đang yêu cầu được giải thích rất rõ ràng –

Trả lời

14

Đó thực sự là một câu hỏi hay. Dưới đây là ví dụ về cấu hình:

<job id="sampleJob" job-repository="jobRepository"> 
    <step id="step1" next="step2"> 
     <tasklet transaction-manager="transactionManager"> 
      <chunk reader="itemReader" writer="itemWriter" commit-interval="10"/> 
     </tasklet> 
    </step> 
    <step id="step2"> 
     <tasklet ref="myTasklet"/> 
    </step> 
</job> 

Bạn có việc làm, công việc này được thực hiện theo các bước. Hầu hết thời gian, các bước này liên tiếp. Bạn xác định thứ tự công việc của bạn phải được thực hiện theo các bước: bạn thực hiện bước 1, rồi bước 2, rồi bước 3, bạn có thể thực hiện bước 4 nếu bước 3 không thành công hoặc chuyển trực tiếp đến bước 5, v.v.

Điều gì được thực hiện trong Bước được trình bày bởi một tasklet, chúng thực hiện nhiệm vụ.

Trong lô mùa xuân, bạn sẽ thực hiện xử lý theo định hướng chunk: với người đọc, bộ xử lý và nhà văn. Từ các tài liệu chính thức:

Chunk định hướng xử lý đề cập đến đọc một dữ liệu tại một thời điểm, và tạo 'khối' sẽ được viết ra, trong một giao dịch ranh giới

Nhưng bạn có thể tạo một tasklet của riêng bạn và đặt nó trong bước của bạn. Ví dụ, một tasklet thực hiện một truy vấn SQL. (ví dụ tại đây: Tasklet to delete a table in spring batch)

Vì vậy, các bước được sắp xếp trong công việc, mỗi bước có chứa một tasklet, thực hiện tác vụ. Một trong những tasklet (và có lẽ là một trong những công cụ được sử dụng nhiều nhất) là tasklet xử lý theo định hướng chunk.

Nếu bạn tò mò, đây là ChunkOrientedTasklet's doc. Như bạn có thể thấy, nó thực hiện giao diện Tasklet.

Để biết thêm thông tin: http://docs.spring.io/spring-batch/reference/html/configureStep.html

Và vâng, đợt mùa xuân được cũng làm cho việc xử lý song song, sử dụng dòng: http://docs.spring.io/spring-batch/reference/html/scalability.html

+0

Câu trả lời này rất hữu ích để hiểu những điều cơ bản về Bước, Tasklet và Chunk. Cảm ơn bạn :) –

Các vấn đề liên quan