Hi,
I'm currently learning about mirth. I've gone through a few simple examples and now I want to do the following use case.
- use a database reader to get the size of a table (using select count(*) from mytable)
- check if that table increased in size (filter count against previous count saved in as a global var)
- if there is a new record in the database, notify a web service.
Problem is, I'm in fact stuck on step one!
select * from mytable works, but count(*) doesn't.
I get the following error in the System Events window:
org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth [email protected], endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[class java.util.HashMap]}, name='_jdbcEndpoint#70137697', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionCon [email protected], filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseI nsensitiveHashMap
at org.mule.routing.inbound.SelectiveConsumer.isMatch (SelectiveConsumer.java:64)
at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:79)
at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR eceiver.java:492)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:271)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:234)
at com.webreach.mirth.server.mule.providers.jdbc.Jdbc MessageReceiver.processMessage(JdbcMessageReceiver .java:149)
at org.mule.providers.TransactedPollingMessageReceive r$MessageProcessorWorker.doInTransaction(Transacte dPollingMessageReceiver.java:159)
at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:72)
at org.mule.providers.TransactedPollingMessageReceive r$MessageProcessorWorker.run(TransactedPollingMess ageReceiver.java:149)
at org.mule.impl.work.WorkerContext.run(WorkerContext .java:290)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java :675)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.mule.umo.transformer.TransformerException: Failed to parse result map
at com.webreach.mirth.server.mule.transformers.Result MapToXML.doTransform(ResultMapToXML.java:108)
at org.mule.transformers.AbstractTransformer.transfor m(AbstractTransformer.java:197)
at org.mule.impl.MuleEvent.getTransformedMessage(Mule Event.java:251)
at org.mule.routing.inbound.SelectiveConsumer.isMatch (SelectiveConsumer.java:61)
... 12 more
{}
Any ideas what this is about?
Thanks alot!
Greetings,
Kristof Taveirne
I'm currently learning about mirth. I've gone through a few simple examples and now I want to do the following use case.
- use a database reader to get the size of a table (using select count(*) from mytable)
- check if that table increased in size (filter count against previous count saved in as a global var)
- if there is a new record in the database, notify a web service.
Problem is, I'm in fact stuck on step one!
select * from mytable works, but count(*) doesn't.
I get the following error in the System Events window:
org.mule.umo.routing.RoutingException: Failed to transform message before applying the filter. Failed to route event via endpoint: ImmutableMuleEndpoint{connector=com.webreach.mirth [email protected], endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[class java.util.HashMap]}, name='_jdbcEndpoint#70137697', type='receiver', properties={}, transactionConfig=org.mule.impl.MuleTransactionCon [email protected], filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=true, initialState=started, createConnector=0}. Message payload is of type: org.apache.commons.dbutils.BasicRowProcessor$CaseI nsensitiveHashMap
at org.mule.routing.inbound.SelectiveConsumer.isMatch (SelectiveConsumer.java:64)
at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:79)
at org.mule.providers.AbstractMessageReceiver$Default InternalMessageListener.onMessage(AbstractMessageR eceiver.java:492)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:271)
at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:234)
at com.webreach.mirth.server.mule.providers.jdbc.Jdbc MessageReceiver.processMessage(JdbcMessageReceiver .java:149)
at org.mule.providers.TransactedPollingMessageReceive r$MessageProcessorWorker.doInTransaction(Transacte dPollingMessageReceiver.java:159)
at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:72)
at org.mule.providers.TransactedPollingMessageReceive r$MessageProcessorWorker.run(TransactedPollingMess ageReceiver.java:149)
at org.mule.impl.work.WorkerContext.run(WorkerContext .java:290)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.runTask(ThreadPoolExecutor. java:650)
at edu.emory.mathcs.backport.java.util.concurrent.Thr eadPoolExecutor$Worker.run(ThreadPoolExecutor.java :675)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.mule.umo.transformer.TransformerException: Failed to parse result map
at com.webreach.mirth.server.mule.transformers.Result MapToXML.doTransform(ResultMapToXML.java:108)
at org.mule.transformers.AbstractTransformer.transfor m(AbstractTransformer.java:197)
at org.mule.impl.MuleEvent.getTransformedMessage(Mule Event.java:251)
at org.mule.routing.inbound.SelectiveConsumer.isMatch (SelectiveConsumer.java:61)
... 12 more
{}
Any ideas what this is about?
Thanks alot!
Greetings,
Kristof Taveirne
Comment