Spring Batch - การกำหนดค่า

ในขณะที่เขียนแอปพลิเคชัน Spring Batch เราจะกำหนดค่างานขั้นตอน JobLauncher JobRepository ตัวจัดการธุรกรรมผู้อ่านและผู้เขียนโดยใช้แท็ก XML ที่ให้ไว้ในเนมสเปซ Spring Batch ดังนั้นคุณต้องรวมเนมสเปซนี้ในไฟล์ XML ของคุณดังที่แสดงด้านล่าง

<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">

ในส่วนต่อไปนี้เราจะพูดถึงแท็กต่างๆคุณลักษณะและตัวอย่างของแท็กที่มีอยู่ในเนมสเปซ Spring Batch

งาน

แท็กนี้ใช้เพื่อกำหนด / กำหนดค่างานของ SpringBatch ประกอบด้วยชุดขั้นตอนและสามารถเปิดใช้งานได้โดยใช้ JobLauncher

แท็กนี้มี 2 แอตทริบิวต์ตามรายการด้านล่าง -

ส. เลขที่ คุณสมบัติและคำอธิบาย
1

Id

เป็นรหัสของงานจำเป็นต้องระบุค่าให้กับแอตทริบิวต์นี้

2

restartable

นี่คือแอตทริบิวต์ที่ใช้เพื่อระบุว่างานนั้นสามารถเริ่มต้นใหม่ได้หรือไม่ แอตทริบิวต์นี้เป็นทางเลือก

ต่อไปนี้คือการกำหนดค่า XML ของงานของ SpringBatch

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

ขั้นตอน

แท็กนี้ใช้เพื่อกำหนด / กำหนดค่าขั้นตอนของงาน SpringBatch มีคุณสมบัติสามประการดังต่อไปนี้ -

ส. เลขที่ คุณสมบัติและคำอธิบาย
1

Id

เป็นรหัสของงานจำเป็นต้องระบุค่าให้กับแอตทริบิวต์นี้

2

next

เป็นทางลัดเพื่อระบุขั้นตอนต่อไป

3

parent

ใช้เพื่อระบุชื่อของ parent bean ซึ่งการกำหนดค่าควรสืบทอด

ต่อไปนี้คือการกำหนดค่า XML ของขั้นตอนของ SpringBatch

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

ก้อน

แท็กนี้ใช้เพื่อกำหนด / กำหนดค่าส่วนของไฟล์ tasklet. มีคุณสมบัติสี่ประการดังต่อไปนี้ -

ส. เลขที่ คุณสมบัติและคำอธิบาย
1

reader

แสดงถึงชื่อของถั่วผู้อ่านรายการ ยอมรับค่าของประเภทorg.springframework.batch.item.ItemReader.

2

writer

แสดงถึงชื่อของถั่วผู้อ่านรายการ ยอมรับค่าของประเภทorg.springframework.batch.item.ItemWriter.

3

processor

แสดงถึงชื่อของถั่วผู้อ่านรายการ ยอมรับค่าของประเภทorg.springframework.batch.item.ItemProcessor.

4

commit-interval

ใช้เพื่อระบุจำนวนรายการที่ต้องดำเนินการก่อนที่จะทำธุรกรรม

ต่อไปนี้คือการกำหนดค่า XML ของส่วนของ 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 ใช้เพื่อกำหนดค่า JobRepository โดยใช้ฐานข้อมูลเชิงสัมพันธ์ ถั่วนี้เกี่ยวข้องกับคลาสของชนิดorg.springframework.batch.core.repository.JobRepository.

ส. เลขที่ คุณสมบัติและคำอธิบาย
1

dataSource

ใช้เพื่อระบุชื่อ bean ซึ่งกำหนดแหล่งข้อมูล

2

transactionManager

ใช้ระบุชื่อของ bean ซึ่งกำหนดตัวจัดการธุรกรรม

3

databaseType

ระบุชนิดของฐานข้อมูลเชิงสัมพันธ์ที่ใช้ในที่เก็บงาน

ต่อไปนี้เป็นตัวอย่างการกำหนดค่า 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

JobLauncher bean ใช้เพื่อกำหนดค่า JobLauncher มีความเกี่ยวข้องกับคลาสorg.springframework.batch.core.launch.support.SimpleJobLauncher(ในโปรแกรมของเรา). ถั่วนี้มีคุณสมบัติหนึ่งชื่อjobrepositoryและใช้เพื่อระบุชื่อของ bean ซึ่งกำหนด jobrepository.

ต่อไปนี้เป็นตัวอย่างการกำหนดค่า jobLauncher

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

TransactionManager

TransactionManager bean ใช้เพื่อกำหนดค่า TransactionManager โดยใช้ฐานข้อมูลเชิงสัมพันธ์ ถั่วนี้เกี่ยวข้องกับคลาสของชนิดorg.springframework.transaction.platform.TransactionManager.

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

แหล่งข้อมูล

Datasource bean ใช้เพื่อกำหนดค่าไฟล์ Datasource. ถั่วนี้เกี่ยวข้องกับคลาสของชนิดorg.springframework.jdbc.datasource.DriverManagerDataSource.

ส. เลขที่ คุณสมบัติและคำอธิบาย
1

driverClassName

สิ่งนี้ระบุชื่อคลาสของไดรเวอร์ที่ใช้เชื่อมต่อกับฐานข้อมูล

2

url

สิ่งนี้ระบุ URL ของฐานข้อมูล

3

username

สิ่งนี้ระบุชื่อผู้ใช้เพื่อเชื่อมต่อกับฐานข้อมูล

4

password

สิ่งนี้ระบุรหัสผ่านเพื่อเชื่อมต่อกับฐานข้อมูล

ต่อไปนี้เป็นตัวอย่างการกำหนดค่าของไฟล์ 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>