स्प्रिंग बैच - कॉन्फ़िगरेशन
स्प्रिंग बैच एप्लिकेशन लिखते समय, हम जॉब, स्टेप, जॉबलांचर, जॉब रिपॉजिटरी, ट्रांजैक्शन मैनेजर, रीडर्स और लेखकों को स्प्रिंग बैच नेमस्पेस में दिए गए XML टैग का उपयोग करके कॉन्फ़िगर करेंगे। इसलिए, आपको नीचे दिखाए गए अनुसार इस नाम स्थान को अपनी 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">
निम्नलिखित अनुभागों में, हम स्प्रिंग बैच नाम स्थान में उपलब्ध विभिन्न टैग, उनकी विशेषताओं और उदाहरणों पर चर्चा करेंगे।
काम
इस टैग का उपयोग स्प्रिंगबैच की नौकरी को परिभाषित / कॉन्फ़िगर करने के लिए किया जाता है। इसमें चरणों का एक सेट होता है और इसे जॉबलांचर का उपयोग करके लॉन्च किया जा सकता है।
इस टैग में नीचे सूचीबद्ध 2 विशेषताएं हैं -
S.No | विशेषता और विवरण |
---|---|
1 | Id यह कार्य का आईडी है, इस विशेषता के लिए मूल्य निर्दिष्ट करना अनिवार्य है। |
2 | restartable यह वह विशेषता है जिसका उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि नौकरी पुनः आरंभ करने योग्य है या नहीं। यह विशेषता वैकल्पिक है। |
स्प्रिंगबच की नौकरी का XML कॉन्फ़िगरेशन निम्नलिखित है।
<job id = "jobid" restartable = "false" >
. . . . . . . .
. . . . . . . .
. . . . . . . . // Step definitions
</job>
कदम
इस टैग का उपयोग स्प्रिंगबैच नौकरी के चरणों को परिभाषित / कॉन्फ़िगर करने के लिए किया जाता है। इसकी निम्नलिखित तीन विशेषताएँ हैं -
S.No | विशेषता और विवरण |
---|---|
1 | Id यह कार्य का आईडी है, इस विशेषता के लिए मूल्य निर्दिष्ट करना अनिवार्य है। |
2 | next यह अगले चरण को निर्दिष्ट करने का शॉर्टकट है। |
3 | parent इसका उपयोग मूल बीन के नाम को निर्दिष्ट करने के लिए किया जाता है जिसमें से कॉन्फ़िगरेशन को वारिस करना चाहिए। |
एक स्प्रिंगबैच के कदम का XML कॉन्फ़िगरेशन निम्नलिखित है।
<job id = "jobid">
<step id = "step1" next = "step2"/>
<step id = "step2" next = "step3"/>
<step id = "step3"/>
</job>
टुकड़ा
इस टैग का उपयोग परिभाषित करने / कॉन्फ़िगर करने के लिए किया जाता है tasklet। इसकी निम्नलिखित चार विशेषताएँ हैं -
S.No | विशेषता और विवरण |
---|---|
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 कॉन्फ़िगरेशन निम्नलिखित है।
<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 बीन का उपयोग एक रिलेशनल डेटाबेस का उपयोग करके JobRepository को कॉन्फ़िगर करने के लिए किया जाता है। यह बीन प्रकार के वर्ग के साथ जुड़ा हुआ हैorg.springframework.batch.core.repository.JobRepository।
S.No | विशेषता और विवरण |
---|---|
1 | dataSource इसका उपयोग बीन्स नाम को निर्दिष्ट करने के लिए किया जाता है जो डेटा स्रोत को परिभाषित करता है। |
2 | transactionManager इसका उपयोग बीन के नाम को निर्दिष्ट करने के लिए किया जाता है जो लेन-देन करने वाले को परिभाषित करता है। |
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 बीन का उपयोग JobLauncher को कॉन्फ़िगर करने के लिए किया जाता है। यह वर्ग के साथ जुड़ा हुआ हैorg.springframework.batch.core.launch.support.SimpleJobLauncher(हमारे कार्यक्रमों में)। इस बीन के नाम एक संपत्ति हैjobrepository, और इसका उपयोग बीन के नाम को निर्दिष्ट करने के लिए किया जाता है जो परिभाषित करता है jobrepository।
निम्नलिखित जॉबलैन्चर का उदाहरण विन्यास है।
<bean id = "jobLauncher"
class = "org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name = "jobRepository" ref = "jobRepository" />
</bean>
TransactionManager
TransactionManager बीन का उपयोग एक संबंधित डेटाबेस का उपयोग करके TransactionManager को कॉन्फ़िगर करने के लिए किया जाता है। यह बीन प्रकार के वर्ग के साथ जुड़ा हुआ हैorg.springframework.transaction.platform.TransactionManager।
<bean id = "transactionManager"
class = "org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
डेटा स्रोत
डेटासोर्स बीन का उपयोग कॉन्फ़िगर करने के लिए किया जाता है Datasource। यह बीन प्रकार के वर्ग के साथ जुड़ा हुआ हैorg.springframework.jdbc.datasource.DriverManagerDataSource।
S.No | विशेषता और विवरण |
---|---|
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>