java - How to write spring batch process to read from websphere mq and write into oracle database? -
can provide template spring batch process read input ibm websphere mq , write oracle database.
i tried write template not working please let me know how things has done
further getting error:
invalid property 'msgconsumer' of bean class: [org.springframework.jms.listener.defaultmessagelistenercontainer]: bean property 'msgconsumer' not writable or has invalid setter method. parameter type of setter match return type of getter?
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:batch="http://www.springframework.org/schema/batch" 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-2.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <bean id="report" class="com.mkyong.model.report" scope="prototype" /> <bean id="itemprocessor" class="com.mkyong.model.customitemprocessor" /> <batch:job id="reportjob"> <batch:step id="step1"> <batch:tasklet> <batch:chunk reader="listenercontainer" processor="itemprocessor" writer="oracleitemwriter" commit-interval="2"></batch:chunk> </batch:tasklet> </batch:step> </batch:job> <bean id="msgreceiver" class="com.ibm.mq.jms.mqqueuereceiver"></bean> <bean id="msgconsumer" class="com.ibm.mq.jms.mqmessageconsumer"></bean> <bean id="jmsconnectionfactory" class="com.ibm.mq.jms.mqqueueconnectionfactory"> <property name="queuemanager"> <value>qm_magesh</value> </property> <property name="hostname"> <value>localhost</value> </property> <property name="port"> <value>1414</value> </property> <property name="channel"> <value>system.client</value> </property> <property name="transporttype" value="1" /> </bean> <bean id="destinationqueue" class="com.ibm.mq.jms.mqqueue"> <property name="basequeuename"> <value>qm1</value> </property> </bean> <bean id="jmsdestinationresolver" class="com.ibm.mq.jms.mqqueue"> <constructor-arg value="deliveryconfirmationqueue" /> </bean> <bean id="listenercontainer" class="org.springframework.jms.listener.defaultmessagelistenercontainer"> <property name="concurrentconsumers" value="1" /> <property name="connectionfactory" ref="jmsconnectionfactory" /> <property name="destination" ref="destinationqueue" /> <!-- <property name="msgreceiver" ref="msgreceiver" /> --> <property name="msgconsumer" ref="msgconsumer"/> </bean> <bean id="oracleitemwriter" class="org.springframework.batch.item.database.jdbcbatchitemwriter"> <property name="datasource" ref="datasource" /> <property name="sql"> <value> <![cdata[ insert raw_report values (:date, :impressions, :clicks, :earning) ]]> </value> </property> <!-- take care matching between object property , sql name parameter --> <property name="itemsqlparametersourceprovider"> <bean class="org.springframework.batch.item.database.beanpropertyitemsqlparametersourceprovider" /> </property> </bean> </beans>
Comments
Post a Comment