Spring Batch - Cấu hình

Trong khi viết ứng dụng Spring Batch, chúng tôi sẽ định cấu hình công việc, bước, JobLauncher, JobRepository, Transaction Manager, trình đọc và người viết bằng các thẻ XML được cung cấp trong không gian tên Spring Batch. Do đó, bạn cần đưa không gian tên này vào tệp XML của mình như hình dưới đây.

<beans xmlns = "http://www.springframework.org/schema/beans" 
   xmlns:batch = "http://www.springframework.org/schema/batch" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
   xsi:schemaLocation = "http://www.springframework.org/schema/batch 

   http://www.springframework.org/schema/batch/spring-batch-2.2.xsd 
   http://www.springframework.org/schema/bean   
   http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">

Trong các phần sau, chúng ta sẽ thảo luận về các thẻ khác nhau, các thuộc tính và ví dụ của chúng, có sẵn trong không gian tên Spring Batch.

Việc làm

Thẻ này được sử dụng để xác định / cấu hình công việc của SpringBatch. Nó chứa một tập hợp các bước và nó có thể được khởi chạy bằng JobLauncher.

Thẻ này có 2 thuộc tính như được liệt kê bên dưới -

S. không Thuộc tính & Mô tả
1

Id

Nó là Id của công việc, bắt buộc phải chỉ định giá trị cho thuộc tính này.

2

restartable

Đây là thuộc tính được sử dụng để chỉ định liệu công việc có thể khởi động lại hay không. Thuộc tính này là tùy chọn.

Sau đây là cấu hình XML của công việc của SpringBatch.

<job id = "jobid" restartable = "false" > 
   . . . . . . . .  
   . . . . . . . .  
   . . . . . . . . // Step definitions 
</job>

Bươc

Thẻ này được sử dụng để xác định / cấu hình các bước của công việc SpringBatch. Nó có ba thuộc tính sau:

S. không Thuộc tính & Mô tả
1

Id

Nó là Id của công việc, bắt buộc phải chỉ định giá trị cho thuộc tính này.

2

next

Nó là phím tắt để chỉ định bước tiếp theo.

3

parent

Nó được sử dụng để chỉ định tên của bean mẹ mà từ đó cấu hình sẽ kế thừa.

Sau đây là cấu hình XML của bước SpringBatch.

<job id = "jobid"> 
   <step id = "step1" next = "step2"/> 
   <step id = "step2" next = "step3"/> 
   <step id = "step3"/> 
</job>

Chunk

Thẻ này được sử dụng để xác định / cấu hình một phần của tasklet. Nó có bốn thuộc tính sau:

S. không Thuộc tính & Mô tả
1

reader

Nó đại diện cho tên của bean đọc mục. Nó chấp nhận giá trị của kiểuorg.springframework.batch.item.ItemReader.

2

writer

Nó đại diện cho tên của bean đọc mục. Nó chấp nhận giá trị của kiểuorg.springframework.batch.item.ItemWriter.

3

processor

Nó đại diện cho tên của bean đọc mục. Nó chấp nhận giá trị của kiểuorg.springframework.batch.item.ItemProcessor.

4

commit-interval

Nó được sử dụng để chỉ định số lượng mục sẽ được xử lý trước khi thực hiện giao dịch.

Sau đây là cấu hình XML của đoạn SpringBatch.

<batch:step id = "step1"> 
   <batch:tasklet> 
      <batch:chunk reader = "xmlItemReader" 
         writer = "mysqlItemWriter" processor = "itemProcessor" commit-interval = "10"> 
      </batch:chunk> 
   </batch:tasklet> 
</batch:step>

JobRepository

Bean JobRepository được sử dụng để cấu hình JobRepository bằng cơ sở dữ liệu quan hệ. Đậu này được liên kết với loại kiểuorg.springframework.batch.core.repository.JobRepository.

S. không Thuộc tính & Mô tả
1

dataSource

Nó được sử dụng để chỉ định tên bean định nghĩa nguồn dữ liệu.

2

transactionManager

Nó được sử dụng để xác định tên của bean định nghĩa bộ quản lý giao dịch.

3

databaseType

Nó chỉ định loại cơ sở dữ liệu quan hệ được sử dụng trong kho công việc.

Sau đây là cấu hình ví dụ của JobRepository.

<bean id = "jobRepository" 
   class = "org.springframework.batch.core.repository.support.JobRepositoryFactoryBean"> 
   <property name = "dataSource" ref = "dataSource" /> 
   <property name = "transactionManager" ref="transactionManager" /> 
   <property name = "databaseType" value = "mysql" /> 
</bean>

JobLauncher

Đậu JobLauncher được sử dụng để cấu hình JobLauncher. Nó được liên kết với lớporg.springframework.batch.core.launch.support.SimpleJobLauncher(trong các chương trình của chúng tôi). Đậu này có một thuộc tính tên làjobrepositoryvà nó được sử dụng để chỉ định tên của bean định nghĩa jobrepository.

Sau đây là cấu hình ví dụ của jobLauncher.

<bean id = "jobLauncher" 
   class = "org.springframework.batch.core.launch.support.SimpleJobLauncher"> 
   <property name = "jobRepository" ref = "jobRepository" /> 
</bean>

TransactionManager

Đậu TransactionManager được sử dụng để cấu hình TransactionManager bằng cơ sở dữ liệu quan hệ. Đậu này được liên kết với loại kiểuorg.springframework.transaction.platform.TransactionManager.

<bean id = "transactionManager"
   class = "org.springframework.batch.support.transaction.ResourcelessTransactionManager" />

Nguồn dữ liệu

Đậu nguồn dữ liệu được sử dụng để định cấu hình Datasource. Đậu này được liên kết với loại kiểuorg.springframework.jdbc.datasource.DriverManagerDataSource.

S. không Thuộc tính & Mô tả
1

driverClassName

Điều này chỉ định tên lớp của trình điều khiển được sử dụng để kết nối với cơ sở dữ liệu.

2

url

Điều này chỉ định URL của cơ sở dữ liệu.

3

username

Điều này chỉ định tên người dùng để kết nối với cơ sở dữ liệu.

4

password

Điều này chỉ định mật khẩu để kết nối với cơ sở dữ liệu.

Sau đây là cấu hình ví dụ của datasource.

<bean id = "dataSource" 
   class = "org.springframework.jdbc.datasource.DriverManagerDataSource"> 
   <property name = "driverClassName" value = "com.mysql.jdbc.Driver" /> 
   <property name = "url" value = "jdbc:mysql://localhost:3306/details" /> 
   <property name = "username" value = "myuser" /> 
   <property name = "password" value = "password" /> 
</bean>