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>