स्प्रिंग बैच - कॉन्फ़िगरेशन

स्प्रिंग बैच एप्लिकेशन लिखते समय, हम जॉब, स्टेप, जॉबलांचर, जॉब रिपॉजिटरी, ट्रांजैक्शन मैनेजर, रीडर्स और लेखकों को स्प्रिंग बैच नेमस्पेस में दिए गए 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>