Spring Batch - Konfigurasi
Saat menulis aplikasi Spring Batch, kami akan mengonfigurasi pekerjaan, langkah, JobLauncher, JobRepository, Manajer Transaksi, pembaca, dan penulis menggunakan tag XML yang disediakan di namespace Spring Batch. Oleh karena itu, Anda perlu menyertakan namespace ini dalam file XML Anda seperti yang ditunjukkan di bawah ini.
<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">
Pada bagian berikut, kita akan membahas berbagai tag, atribut, dan contohnya, yang tersedia di namespace Spring Batch.
Pekerjaan
Tag ini digunakan untuk menentukan / mengkonfigurasi pekerjaan SpringBatch. Ini berisi serangkaian langkah dan dapat diluncurkan menggunakan JobLauncher.
Tag ini memiliki 2 atribut seperti yang tercantum di bawah ini -
S.No | Atribut & Deskripsi |
---|---|
1 | Id Ini adalah Id pekerjaan, wajib untuk menentukan nilai atribut ini. |
2 | restartable Ini adalah atribut yang digunakan untuk menentukan apakah pekerjaan dapat direstart atau tidak. Atribut ini opsional. |
Berikut ini adalah konfigurasi XML pekerjaan SpringBatch.
<job id = "jobid" restartable = "false" >
. . . . . . . .
. . . . . . . .
. . . . . . . . // Step definitions
</job>
Langkah
Tag ini digunakan untuk menentukan / mengkonfigurasi langkah-langkah pekerjaan SpringBatch. Ini memiliki tiga atribut berikut -
S.No | Atribut & Deskripsi |
---|---|
1 | Id Ini adalah Id pekerjaan, wajib untuk menentukan nilai atribut ini. |
2 | next Ini adalah jalan pintas untuk menentukan langkah selanjutnya. |
3 | parent Ini digunakan untuk menentukan nama kacang induk dari mana konfigurasi harus mewarisi. |
Berikut adalah konfigurasi XML dari langkah SpringBatch.
<job id = "jobid">
<step id = "step1" next = "step2"/>
<step id = "step2" next = "step3"/>
<step id = "step3"/>
</job>
Bingkah
Tag ini digunakan untuk mendefinisikan / mengkonfigurasi potongan dari a tasklet. Ini memiliki empat atribut berikut -
S.No | Atribut & Deskripsi |
---|---|
1 | reader Ini mewakili nama kacang pembaca item. Ini menerima nilai tipeorg.springframework.batch.item.ItemReader. |
2 | writer Ini mewakili nama kacang pembaca item. Ini menerima nilai tipeorg.springframework.batch.item.ItemWriter. |
3 | processor Ini mewakili nama kacang pembaca item. Ini menerima nilai tipeorg.springframework.batch.item.ItemProcessor. |
4 | commit-interval Ini digunakan untuk menentukan jumlah item yang akan diproses sebelum melakukan transaksi. |
Berikut ini adalah konfigurasi XML potongan 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
JobRepository Bean digunakan untuk mengkonfigurasi JobRepository menggunakan database relasional. Kacang ini dikaitkan dengan kelas tipeorg.springframework.batch.core.repository.JobRepository.
S.No | Atribut & Deskripsi |
---|---|
1 | dataSource Ini digunakan untuk menentukan nama kacang yang mendefinisikan sumber data. |
2 | transactionManager Ini digunakan untuk menentukan nama kacang yang mendefinisikan manajer transaksi. |
3 | databaseType Ini menentukan jenis database relasional yang digunakan dalam repositori pekerjaan. |
Berikut adalah contoh konfigurasi 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
Kacang JobLauncher digunakan untuk mengkonfigurasi JobLauncher. Itu terkait dengan kelasorg.springframework.batch.core.launch.support.SimpleJobLauncher(dalam program kami). Kacang ini memiliki satu properti bernamajobrepository, dan digunakan untuk menentukan nama kacang yang mendefinisikan file jobrepository.
Berikut adalah contoh konfigurasi jobLauncher.
<bean id = "jobLauncher"
class = "org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name = "jobRepository" ref = "jobRepository" />
</bean>
TransactionManager
Kacang TransactionManager digunakan untuk mengkonfigurasi TransactionManager menggunakan database relasional. Kacang ini dikaitkan dengan kelas tipeorg.springframework.transaction.platform.TransactionManager.
<bean id = "transactionManager"
class = "org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
Sumber data
Kacang sumber data digunakan untuk mengkonfigurasi file Datasource. Kacang ini dikaitkan dengan kelas tipeorg.springframework.jdbc.datasource.DriverManagerDataSource.
S.No | Atribut & Deskripsi |
---|---|
1 | driverClassName Ini menentukan nama kelas dari driver yang digunakan untuk terhubung dengan database. |
2 | url Ini menentukan URL database. |
3 | username Ini menentukan nama pengguna untuk terhubung dengan database. |
4 | password Ini menentukan kata sandi untuk terhubung dengan database. |
Berikut adalah contoh konfigurasi file 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>