Announcement

Collapse
No announcement yet.

Exception launched when a null is found in a field of a db register

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Exception launched when a null is found in a field of a db register

    Hello.

    I'm usign a channel with a DBReader as the source endpoint.

    When the channel finds a NULL into any of the fields, an exception is launched and the register isn't processed.

    ¿Is this a bug or a feature? ¿How can I solve the issue?

    The exception launched is the following:

    (The field 'perspectiva' is null for the register being processed). The channel works fine for the rest of the registers.

    Code:
    (......)
    
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.providers.jdbc.JdbcMessageReceiver: Message Payload: 
     {servicio=SALIDA, hora=19:00, horainicio=10:00, codigoprensa=  2.9 , perspectiva=null, dia=2006-06-06, prensaintensa=R, numerofalos=2039823, numeromagico=1065092015, encuentro=9747655, codigoProfesional=  2.9 , fechaProgramada=2006-06-07}
    (....)
    DEBUG [3.2] org.mule.config.ExceptionHelper: javadoc. Url for package 'org.mule.umo.transformer.TransformerException' is: [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url]
    ERROR [3.2] org.mule.impl.DefaultComponentExceptionStrategy: 
    ********************************************************************************
    Message          : Failed to parse result map
    Type             : org.mule.umo.transformer.TransformerException
    Code             : 64999
    Transformer      : Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[class java.util.HashMap]}
    JavaDoc          : [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url]
    ********************************************************************************
    Exception stack is:
    1. Failed to parse result map (org.mule.umo.transformer.TransformerException)
      com.webreach.mirth.server.mule.transformers.ResultMapToXML:70 ([url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url])
    ********************************************************************************
    Root Exception stack trace:
    org.mule.umo.transformer.TransformerException: Failed to parse result map
    	at com.webreach.mirth.server.mule.transformers.ResultMapToXML.doTransform(ResultMapToXML.java:70)
    	at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197)
    (......)



    Next, please find the full trace (with the log set to TRACE), sorry for the length of the message:

    Code:
    DEBUG [Thread-0] org.mule.providers.jdbc.JdbcConnector: Retrieving new connection from data source: jdbc:informix-sqli://182.23.12.119:1525/salao:informixserver=ms (com.informix.jdbc.IfxDriver)
    INFO  [Thread-0] org.mule.providers.jdbc.JdbcMessageReceiver: Successfully connected to: jdbc://query
    INFO  [Thread-0] org.mule.impl.model.seda.SedaModel: Component 3 has been started successfully
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Registering statistics with name: MirthConfiguration:type=statistics
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Registering mule with name: MirthConfiguration:type=control,name=MuleService
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Registering model with name: MirthConfiguration:type=control,name=ModelService
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Registering component with name: MirthConfiguration:type=control,name=3ComponentService
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Attempting to register service with name: MirthConfiguration:type=control,name=jdbc#_jdbcEndpoint#1909154201 EndpointService
    INFO  [Thread-0] org.mule.management.agents.JmxAgent: Registered Endpoint Service with name: MirthConfiguration:type=control,name=jdbc#_jdbcEndpoint#1909154201 EndpointService
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Attempting to register service with name: MirthConfiguration:type=control,name=3_destination_1Service
    INFO  [Thread-0] org.mule.management.agents.JmxAgent: Registered Connector Service with name MirthConfiguration:type=control,name=3_destination_1Service
    DEBUG [Thread-0] org.mule.management.agents.JmxAgent: Attempting to register service with name: MirthConfiguration:type=control,name=3_sourceService
    INFO  [Thread-0] org.mule.management.agents.JmxAgent: Registered Connector Service with name MirthConfiguration:type=control,name=3_sourceService
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.1] org.mule.providers.jdbc.JdbcConnector: Retrieving new connection from data source: jdbc:informix-sqli://182.23.12.119:1525/salao:informixserver=ms (com.informix.jdbc.IfxDriver)
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.1] org.mule.providers.jdbc.JdbcMessageReceiver: Received Message: {servicio=SALIDA, hora=19:00, horainicio=10:00, codigoprensa=  2.9 , perspectiva=null, dia=2006-06-06, prensaintensa=R, numerofalos=2039823, numeromagico=1065092015, encuentro=9747655, codigoProfesional=  2.9 , fechaProgramada=2006-06-07}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.providers.jdbc.JdbcConnector: Retrieving new connection from data source: jdbc:informix-sqli://182.23.12.119:1525/salao:informixserver=ms (com.informix.jdbc.IfxDriver)
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.providers.jdbc.JdbcMessageReceiver: Message Received from: jdbc://query
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.config.i18n.Messages: Loading resource bundle: META-INF.services.org.mule.i18n.core-messages
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.providers.jdbc.JdbcMessageReceiver: MuleMessage{id=[uniqueId not supported], payload=org.apache.commons.dbutils.BasicRowProcessor$CaseInsensitiveHashMap, correlationId=null, correlationGroup=-1, correlationSeq=-1, exceptionPayload=null, properties={}}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.providers.jdbc.JdbcMessageReceiver: Message Payload: 
     {servicio=SALIDA, hora=19:00, horainicio=10:00, codigoprensa=  2.9 , perspectiva=null, dia=2006-06-06, prensaintensa=R, numerofalos=2039823, numeromagico=1065092015, encuentro=9747655, codigoProfesional=  2.9 , fechaProgramada=2006-06-07}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.impl.MuleSession: dispatching event to component: 3 event is: Event: a71c1a4a-4d2f-11db-92d1-8410b27137d6, sync=false, stop processing=false, ImmutableMuleEndpoint{[email protected], endpointUri=jdbc://query, transformer=Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[class java.util.HashMap]}, name='_jdbcEndpoint#1909154201', type='receiver', properties={}, [email protected], filter=null, deleteUnacceptedMessages=false, initialised=true, securityFilter=null, synchronous=null, initialState=started, createConnector=0}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.controllers.ChannelStatisticsController: incrementing received count: channelId=3
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: creating new database connection: address=jdbc:hsqldb:file:database/mirth, {user=sa, password=, shutdown=true}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.controllers.ChannelStatisticsController: retrieving statistics: channelId=3
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: creating new database connection: address=jdbc:hsqldb:file:database/mirth, {user=sa, password=, shutdown=true}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: executing query:
    SELECT
        channel_statistics.received ,
        channel_statistics.sent ,
        channel_statistics.errors 
    FROM
        channel_statistics 
    WHERE
        channel_statistics.channel_id = 3 
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: closing database connection
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: executing prepared statement:
    update channel_statistics set received = ? where channel_id = ?
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: adding parameter: index=1, value=63647
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: adding parameter: index=2, value=3
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: closing database connection
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.impl.model.seda.SedaComponent: Component: 3 has received asynchronous event on: jdbc://query
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.controllers.ChannelStatisticsController: incrementing received count: channelId=3
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: creating new database connection: address=jdbc:hsqldb:file:database/mirth, {user=sa, password=, shutdown=true}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.controllers.ChannelStatisticsController: retrieving statistics: channelId=3
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: creating new database connection: address=jdbc:hsqldb:file:database/mirth, {user=sa, password=, shutdown=true}
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: executing query:
    SELECT
        channel_statistics.received ,
        channel_statistics.sent ,
        channel_statistics.errors 
    FROM
        channel_statistics 
    WHERE
        channel_statistics.channel_id = 3 
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: closing database connection
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: executing prepared statement:
    update channel_statistics set received = ? where channel_id = ?
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: adding parameter: index=1, value=63648
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: adding parameter: index=2, value=3
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] com.webreach.mirth.server.util.DatabaseConnection: closing database connection
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.impl.model.seda.SedaComponent: Component: 3 has received asynchronous event on: jdbc://query
    DEBUG [3_source._jdbcEndpoint#1909154201.receiver.2] org.mule.impl.model.seda.SedaComponent: Event added to queue for: 3
    DEBUG [3.1] org.mule.impl.model.seda.SedaComponent: Component: 3 dequeued event on: jdbc://query
    DEBUG [3.2] org.mule.impl.model.DefaultMuleProxy: MuleProxy: async onEvent for Mule UMO 3
    DEBUG [3.2] org.mule.model.DynamicEntryPoint: Invoking com.webreach.mirth.server.mule.components.ChannelComponent.onCall(org.mule.impl.MuleEventContext)
    DEBUG [3.2] org.mule.config.ExceptionHelper: javadoc. Url for package 'org.mule.umo.transformer.TransformerException' is: [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url]
    DEBUG [3.2] org.mule.config.ExceptionHelper: doc. Url for package 'org.mule.umo.transformer.TransformerException' is: null
    DEBUG [3.2] org.mule.config.ExceptionHelper: javadoc. Url for package 'org.mule.umo.MessagingException' is: [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/MessagingException.html[/url]
    DEBUG [3.2] org.mule.config.ExceptionHelper: doc. Url for package 'org.mule.umo.MessagingException' is: null
    DEBUG [3.2] org.mule.config.ExceptionHelper: javadoc. Url for package 'org.mule.umo.MessagingException' is: [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/MessagingException.html[/url]
    DEBUG [3.2] org.mule.config.ExceptionHelper: doc. Url for package 'org.mule.umo.MessagingException' is: null
    DEBUG [3.2] org.mule.config.ExceptionHelper: javadoc. Url for package 'org.mule.umo.MessagingException' is: [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/MessagingException.html[/url]
    DEBUG [3.2] org.mule.config.ExceptionHelper: doc. Url for package 'org.mule.umo.MessagingException' is: null
    DEBUG [3.2] org.mule.config.ExceptionHelper: javadoc. Url for package 'org.mule.umo.transformer.TransformerException' is: [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url]
    ERROR [3.2] org.mule.impl.DefaultComponentExceptionStrategy: 
    ********************************************************************************
    Message          : Failed to parse result map
    Type             : org.mule.umo.transformer.TransformerException
    Code             : 64999
    Transformer      : Transformer{name='ResultMapToXML', returnClass=false, returnClass=false, sourceTypes=[class java.util.HashMap]}
    JavaDoc          : [url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url]
    ********************************************************************************
    Exception stack is:
    1. Failed to parse result map (org.mule.umo.transformer.TransformerException)
      com.webreach.mirth.server.mule.transformers.ResultMapToXML:70 ([url]http://mule.codehaus.org/docs/apidocs/org/mule/umo/transformer/TransformerException.html[/url])
    ********************************************************************************
    Root Exception stack trace:
    org.mule.umo.transformer.TransformerException: Failed to parse result map
    	at com.webreach.mirth.server.mule.transformers.ResultMapToXML.doTransform(ResultMapToXML.java:70)
    	at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197)
    	at org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251)
    	at org.mule.impl.MuleEventContext.getTransformedMessage(MuleEventContext.java:100)
    	at com.webreach.mirth.server.mule.components.ChannelComponent.onCall(ChannelComponent.java:14)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	at java.lang.reflect.Method.invoke(Method.java:585)
    	at org.mule.model.DynamicEntryPoint.invokeCurrent(DynamicEntryPoint.java:168)
    	at org.mule.model.DynamicEntryPoint.invoke(DynamicEntryPoint.java:90)
    	at org.mule.impl.DefaultLifecycleAdapter.onCall(DefaultLifecycleAdapter.java:177)
    	at org.mule.impl.DefaultLifecycleAdapter.intercept(DefaultLifecycleAdapter.java:232)
    	at org.mule.impl.InterceptorsInvoker.execute(InterceptorsInvoker.java:53)
    	at org.mule.impl.model.DefaultMuleProxy.run(DefaultMuleProxy.java:388)
    	at org.mule.impl.work.WorkerContext.run(WorkerContext.java:290)
    	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
    	at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
    	at java.lang.Thread.run(Thread.java:595)
    
    ********************************************************************************
    
    DEBUG [3.2] com.webreach.mirth.server.controllers.ChannelStatisticsController: incrementing error: channelId=3
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: creating new database connection: address=jdbc:hsqldb:file:database/mirth, {user=sa, password=, shutdown=true}
    DEBUG [3.2] com.webreach.mirth.server.controllers.ChannelStatisticsController: retrieving statistics: channelId=3
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: creating new database connection: address=jdbc:hsqldb:file:database/mirth, {user=sa, password=, shutdown=true}
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: executing query:
    SELECT
        channel_statistics.received ,
        channel_statistics.sent ,
        channel_statistics.errors 
    FROM
        channel_statistics 
    WHERE
        channel_statistics.channel_id = 3 
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: closing database connection
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: executing prepared statement:
    update channel_statistics set errors = ? where channel_id = ?
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: adding parameter: index=1, value=1016
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: adding parameter: index=2, value=3
    DEBUG [3.2] com.webreach.mirth.server.util.DatabaseConnection: closing database connection

  • #2
    Re: Exception launched when a null is found in a field of a db register

    This is a bug. Please add it to the tracker at www.mirthproject.org/jira

    Thanks!
    Chris Lang

    Comment


    • #3
      Re: Exception launched when a null is found in a field of a db register

      Ok.
      It's

      Comment


      • #4
        Re: Exception launched when a null is found in a field of a db register

        Thanks, we will evalutate this ASAP and hopefully have a fix for our next release. We appreciate the findings!

        -Chris
        Chris Lang

        Comment

        Working...
        X