Wednesday, 15 July 2015

sql server 2008 r2 - How to use Stored Procedure with Mule 3.5 Batch Processing -



sql server 2008 r2 - How to use Stored Procedure with Mule 3.5 Batch Processing -

i using mule 3.5 anypoint connector , have moved select query stored procedures in batch processing scope component. alter mule not object type stored procedure returns.

here error back:

error 2014-06-26 15:15:00,426 [pool-15-thread-1] org.mule.exception.defaultmessagingexceptionstrategy: ******************************************************************************** message : object "java.util.hashmap" not of right type. must of type "{interface java.lang.iterable,interface java.util.iterator,interface org.mule.routing.messagesequence,interface java.util.collection}" (java.lang.illegalargumentexception) code : mule_error--2 --------------------------------------------------------------------------------

the type of object returned database connector using stored procedure such:

java.util.hashmap

with select statement (this works) type such:

org.mule.util.caseinsensitivehashmap

like stated above select statement work.

some info system:

it sql server 2008 r2

the database connector works fine stored procedure errors when reaches process records section

<batch:job name="ons-esb-mainbatch1"> <batch:threading-profile poolexhaustedaction="wait"/> <batch:input> <poll doc:name="poll"> <fixed-frequency-scheduler frequency="15" timeunit="seconds"/> <db:stored-procedure config-ref="generic_database_configuration" doc:name="database"> <db:parameterized-query><![cdata[{ phone call otis.getentityqueuebytime() }]]></db:parameterized-query> </db:stored-procedure> </poll> <logger level="info" doc:name="logger"/> </batch:input> <batch:process-records> <batch:step name="batch_step"> <choice doc:name="choice"> <!-- selection selector logic -- taken out save space --!> </choice> </batch:step> </batch:process-records> <batch:on-complete> <logger message="entityqueues completed queueing activemq" level="info" doc:name="logger"/> </batch:on-complete>

summary

i find way have object processed through batch process work select statement would.

a java.util.hashmap not iterable. seek replacing message payload entryset():

<batch:input> <poll doc:name="poll"> <fixed-frequency-scheduler frequency="15" timeunit="seconds"/> <db:stored-procedure config-ref="generic_database_configuration" doc:name="database"> <db:parameterized-query><![cdata[{ phone call otis.getentityqueuebytime() }]]></db:parameterized-query> </db:stored-procedure> </poll> <set-payload value="#[message.payload.entryset()]" /> <logger level="info" doc:name="logger"/> </batch:input>

stored-procedures sql-server-2008-r2 hashmap mule batch-processing

No comments:

Post a Comment