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>