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>