I have created Batch File for running my Spring Batch file. When i am trying to run my main class using bat file getting an error to locate Spring Schema Namespace.
Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\AT006>d:
D:\>cd test
D:\test>StartBulkProcessor.bat
D:\test>java -Xms128m -Xmx512m -cp Alaxas.jar;lib\hibernate-commons-annotations
-3.2.0.Final.jar;lib\spring-context-3.2.0.RELEASE.jar;lib\spring-core-3.2.0.RELE
ASE.jar;lib\spring-batch-infrastructure-2.2.0.RELEASE.jar;lib\spring-beans-3.2.0
.RELEASE.jar;lib\spring-context-support-3.2.0.RELEASE.jar;lib\spring-expression-
3.2.0.RELEASE.jar;lib\spring-instrument-tomcat-3.2.0.RELEASE.jar;lib\spring-oxm-
3.0.6.RELEASE-sources.jar;lib\spring-retry-1.0.1.RELEASE.jar;lib\spring-security
-core-3.1.4.RELEASE.jar;lib\spring-tx.jar;lib\spring-web-3.2.0.RELEASE.jar;lib\x
stream-1.4.5.jar;lib\xstream-benchmark-1.4.5.jar;lib\xstream-hibernate-1.4.5.jar
;lib\antlr-2.7.6.jar;lib\aopalliance-1.0.jar;lib\aspectj-weaver.jar;lib\commons-
collections-3.1.jar;lib\commons-logging-1.1.1.jar;lib\dom4j-1.6.1.jar;lib\hibern
ate-commons-annotations-3.2.0.Final.jar;lib\hibernate-core-3.6.7.Final.jar;lib\h
ibernate-jpa-2.0-api-1.0.1.Final.jar;lib\java-mail-1.4.4.jar;lib\javassist.jar;l
ib\javax.mail_1.4.jar;lib\jettison-1.2.jar;lib\jms-1.1.jar;lib\jsr250-api-1.0.ja
r;lib\jta-1.1.jar;lib\lo-1.2.16.jar;lib\mysql-connector-java-5.1.12-bin.jar;lib\
org.springframework.jdbc.jar;lib\org.springframework.oxm-3.0.0.M3.jalib\org.spri
ngframework.transaction_3.0.5.RELEASE.jar;lib\quartz-1.8.6.jar;lib\servlet-api.j
ar;lib\slf4j-simple-1.7.2.jar;lib\slf4j-api-1.7.2.jar com.alaxas.adf.batch.Batch
MainProc
Mar 26, 2014 9:29:55 AM org.springframework.context.support.AbstractApplicationC
ontext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationCont
ext@2f267610: startup date [Wed Mar 26 09:29:55 IST 2014]; root of context hiera
rchy
Mar 26, 2014 9:29:55 AM org.springframework.beans.factory.xml.XmlBeanDefinitionR
eader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [com/alaxas/adf/batc
h/appconfig/BatchProcessorAppConfig.xml]
Mar 26, 2014 9:29:57 AM org.springframework.beans.factory.xml.XmlBeanDefinitionR
eader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [com/alaxas/adf/batc
h/appconfig/ErrorLogServiceConfig.xml]
Mar 26, 2014 9:29:57 AM org.springframework.beans.factory.xml.XmlBeanDefinitionR
eader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [com/alaxas/adf/batc
h/appconfig/PropertyLoaderConfig.xml]
Mar 26, 2014 9:29:57 AM org.springframework.beans.factory.xml.XmlBeanDefinitionR
eader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [com/alaxas/adf/batc
h/appconfig/DataSourceConfig.xml]
Mar 26, 2014 9:29:57 AM org.springframework.beans.factory.xml.XmlBeanDefinitionR
eader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [com/alaxas/adf/batc
h/appconfig/EmailServiceConfig.xml]
Mar 26, 2014 9:29:57 AM org.springframework.beans.factory.support.DefaultListabl
eBeanFactory registerBeanDefinition
INFO: Overriding bean definition for bean 'transactionManager': replacing [Gener
ic bean: class [org.springframework.batch.support.transaction.ResourcelessTransa
ctionManager]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependenc
yCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMe
thodName=null; initMethodName=null; destroyMethodName=null; defined in class pat
h resource [com/alaxas/adf/batch/appconfig/DataSourceConfig.xml]] with [Generic
bean: class [org.springframework.batch.support.transaction.ResourcelessTransacti
onManager]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCh
eck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMetho
dName=null; initMethodName=null; destroyMethodName=null; defined in class path r
esource [com/alaxas/adf/batch/appconfig/BatchProcessorAppConfig.xml]]
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.alaxas.adf.batch.BatchMainProc.logError(BatchMainProc.java:91)
at com.alaxas.adf.batch.BatchMainProc.main(BatchMainProc.java:24)
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingExcept
ion: Configuration problem: Unable to locate Spring NamespaceHandler for XML sch
ema namespace [http://www.springframework.org/schema/batch]
Offending resource: class path resource [com/alaxas/adf/batch/appconfig/BatchPro
cessorAppConfig.xml]
at org.springframework.beans.factory.parsing.FailFastProblemReporter.err
or(FailFastProblemReporter.java:68)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC
ontext.java:85)
at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC
ontext.java:80)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.er
ror(BeanDefinitionParserDelegate.java:317)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseCustomElement(BeanDefinitionParserDelegate.java:1432)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa
rseCustomElement(BeanDefinitionParserDelegate.java:1425)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:184)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:140)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe
ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:111)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registe
rBeanDefinitions(XmlBeanDefinitionReader.java:493)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadB
eanDefinitions(XmlBeanDefinitionReader.java:390)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBea
nDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReade
r.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
at org.springframework.context.support.AbstractXmlApplicationContext.loa
dBeanDefinitions(AbstractXmlApplicationContext.java:127)
at org.springframework.context.support.AbstractXmlApplicationContext.loa
dBeanDefinitions(AbstractXmlApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationCon
text.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
at org.springframework.context.support.AbstractApplicationContext.obtain
FreshBeanFactory(AbstractApplicationContext.java:537)
at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:451)
at org.springframework.context.support.ClassPathXmlApplicationContext.<i
nit>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<i
nit>(ClassPathXmlApplicationContext.java:83)
at com.alaxas.adf.batch.BatchJobContext.<init>(BatchJobContext.java:19)
at com.alaxas.adf.batch.BatchJobContext.<clinit>(BatchJobContext.java:15
)
... 2 more
This is my Config XML file for the main class.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:batch="http://www.springframework.org/schema/batch"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task" 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.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd
">
<import resource="../appconfig/ErrorLogServiceConfig.xml"/>
<import resource="../appconfig/PropertyLoaderConfig.xml" />
<import resource="../appconfig/DataSourceConfig.xml" />
<import resource="../appconfig/EmailServiceConfig.xml" />
<!-- stored job-meta in memory -->
<bean id="jobRepository"
class="org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean">
<property name="transactionManager" ref="transactionManager" />
</bean>
<bean id="transactionManager"
class="org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
<bean id="SBJobLauncher"
class="org.springframework.batch.core.launch.support.SimpleJobLauncher">
<property name="jobRepository" ref="jobRepository" />
</bean>
<!-- For Job Registry (Newly added) -->
<bean
class="org.springframework.batch.core.configuration.support.JobRegistryBeanPostProcessor">
<property name="jobRegistry" ref="jobRegistry" />
</bean>
<bean id="jobRegistry"
class="org.springframework.batch.core.configuration.support.MapJobRegistry" />
<!-- EmailExtractorJob -->
<bean id="emailItemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select Id, EmailFrom, EmailTo, Subject, Message, Status from EMAILQUEUE WHERE status='EN'" />
<property name="rowMapper">
<bean class="com.alaxas.adf.batch.reader.EmailReader" />
</property>
</bean>
<bean id="emailItemProcessor" class="com.alaxas.adf.batch.processor.EmailProcessor">
<property name="emailProcessorUtil" ref="emailProcessorUtil" />
</bean>
<job id="EmailExtractorJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step1">
<tasklet>
<chunk reader="emailItemReader" processor="emailItemProcessor"
writer="emailItemWriter" commit-interval="100" />
</tasklet>
</step>
</job>
<bean id="emailItemWriter"
class="org.springframework.batch.item.adapter.ItemWriterAdapter">
<property name="targetObject" ref="emailOutWriter" />
<property name="targetMethod" value="write" />
</bean>
<bean id="emailOutWriter" class="com.alaxas.adf.batch.writer.EmailWriter" />
<!-- PurgeJob -->
<bean id="purgeItemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select TableName, SQLWhereCondition from PurgeJobDetails" />
<property name="rowMapper">
<bean class="com.alaxas.adf.batch.reader.PurgeReader" />
</property>
</bean>
<bean id="purgeItemProcessor" class="com.alaxas.adf.batch.processor.PurgeProcessor" />
<job id="PurgeJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step2">
<tasklet>
<chunk reader="purgeItemReader" processor="purgeItemProcessor"
writer="purgeItemWriter" commit-interval="100" />
</tasklet>
</step>
</job>
<bean id="purgeItemWriter"
class="org.springframework.batch.item.adapter.ItemWriterAdapter">
<property name="targetObject" ref="purgeOutWriter" />
<property name="targetMethod" value="write" />
</bean>
<bean id="purgeOutWriter" class="com.alaxas.adf.batch.writer.PurgeWriter" />
<!-- ArchivalJob -->
<bean id="archivalItemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select Id, InfoCode, Tablename, ArchiveDateFieldName, ArchiveDateFieldValue from ArchivalTableDetails" />
<property name="rowMapper">
<bean class="com.alaxas.adf.batch.reader.ArchivalReader" />
</property>
</bean>
<bean id="archivalItemProcessor" class="com.alaxas.adf.batch.processor.ArchivalProcessor" />
<job id="ArchivalJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step3">
<tasklet>
<chunk reader="archivalItemReader" processor="archivalItemProcessor"
writer="archivalItemWriter" commit-interval="100" />
</tasklet>
</step>
</job>
<bean id="archivalItemWriter"
class="org.springframework.batch.item.adapter.ItemWriterAdapter">
<property name="targetObject" ref="archivalOutWriter" />
<property name="targetMethod" value="write" />
</bean>
<bean id="archivalOutWriter" class="com.alaxas.adf.batch.writer.ArchivalWriter" />
<!--PaymentProcessingJob-->
<bean id="paymentProcessItemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select Id, UserId, ProductId, IsMonthlySubscription, IsYearlySubscription, Date from PaymentUserAndProduct" />
<property name="rowMapper">
<bean class="com.alaxas.adf.batch.reader.PaymentProcessReader" />
</property>
</bean>
<bean id="paymentProcessItemProcessor" class="com.alaxas.adf.batch.processor.PaymentProcessProcessor" />
<job id="PaymentProcessingJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step4">
<tasklet>
<chunk reader="paymentProcessItemReader" processor="paymentProcessItemProcessor"
writer="paymentProcessItemWriter" commit-interval="100" />
</tasklet>
</step>
</job>
<bean id="paymentProcessItemWriter"
class="org.springframework.batch.item.adapter.ItemWriterAdapter">
<property name="targetObject" ref="paymentProcessOutWriter" />
<property name="targetMethod" value="write" />
</bean>
<bean id="paymentProcessOutWriter" class="com.alaxas.adf.batch.writer.PaymentProcessWriter" />
<!--PaymentInvoiceJob-->
<bean id="paymentInvoiceItemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql"
value="select Id, Date, Amount, TransactionId from Invoice" />
<property name="rowMapper">
<bean class="com.alaxas.adf.batch.reader.PaymentInvoiceReader" />
</property>
</bean>
<bean id="paymentInvoiceItemProcessor" class="com.alaxas.adf.batch.processor.PaymentInvoiceProcessor">
<property name="emailProcessorUtil" ref="emailProcessorUtil" />
</bean>
<job id="PaymentInvoiceJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step5">
<tasklet>
<chunk reader="paymentInvoiceItemReader" processor="paymentInvoiceItemProcessor"
writer="paymentInvoiceItemWriter" commit-interval="100" />
</tasklet>
</step>
</job>
<bean id="paymentInvoiceItemWriter"
class="org.springframework.batch.item.adapter.ItemWriterAdapter">
<property name="targetObject" ref="paymentInvoiceOutWriter" />
<property name="targetMethod" value="write" />
</bean>
<bean id="paymentInvoiceOutWriter" class="com.alaxas.adf.batch.writer.PaymentInvoiceWriter" />
<!--PaymentFailedJob-->
<bean id="paymentFailedItemReader"
class="org.springframework.batch.item.database.JdbcCursorItemReader"
scope="step">
<property name="dataSource" ref="dataSource" />
<property name="sql" value="select Id, UserId from PaymentFailed" />
<property name="rowMapper">
<bean class="com.alaxas.adf.batch.reader.PaymentFailedReader" />
</property>
</bean>
<bean id="paymentFailedItemProcessor" class="com.alaxas.adf.batch.processor.PaymentFailedProcessor">
<property name="emailProcessorUtil" ref="emailProcessorUtil" />
</bean>
<job id="PaymentFailedJob" xmlns="http://www.springframework.org/schema/batch">
<step id="step6">
<tasklet>
<chunk reader="paymentFailedItemReader" processor="paymentFailedItemProcessor"
writer="paymentFailedItemWriter" commit-interval="100" />
</tasklet>
</step>
</job>
<bean id="paymentFailedItemWriter"
class="org.springframework.batch.item.adapter.ItemWriterAdapter">
<property name="targetObject" ref="paymentFailedOutWriter" />
<property name="targetMethod" value="write" />
</bean>
<bean id="paymentFailedOutWriter" class="com.alaxas.adf.batch.writer.PaymentFailedWriter" />
</beans>
.jarfiles. For reference:Unable to locate NamespaceHandler. - songyuanyao