Announcement

Collapse

Mirth Connect 3.12.0 Released!

Mirth Connect 3.12.0 is now available as an appliance update and on our GitHub page. This release includes database performance improvements, improves visual HL7 representation, message pruning, keystore handling, PDF generation, community contributions, and fixes several security vulnerabilities. This release also contains many improvements to commercial extensions. See the release notes for the list of fixes and updates.

Download | See What's New | Upgrade Guide | Release Notes

For discussion on this release, see this thread.
See more
See less

SQLException while inserting message in derby

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

  • SQLException while inserting message in derby

    Hello All,

    This is with Mirth 1.6.1 running as JBoss MBean in JBoss 4.2.1GA on WindowsXP with java jdk1.5.0_12.

    I've configured a channel (llp2jms-jboss) with a LLP reader and a JMS writer which writes ADT messages to a queue (JNDI name HL7broadcast).

    A message driven bean listens within the JBoss instance where also Mirth is deployed to the queue and successfully receives the ADT messages.

    As a second step I'm trying to configure a channel (jms-jboss2file) with a JMS reader to file writer.

    After successfully deploying both channels and sending a ADT message via llp to the first channel I see that both channels received and sent one message in the Mirth administrator dashboard. Both one received and one sent.

    When I try to view the channel messages of the jms-jboss2file channel in the dashboard by double-clicking on the entry, the channel message list is empty.

    The JBoss log indicates that there was a Mirth exception while inserting the message in derby.

    The main error message seems to be the following lines:

    Code:
    08:17:11,984 ERROR [MessageObjectController] could not log message: id=eb2ecc57-68de-4ecb-b50d-576b0d1ae146
    com.ibatis.common.jdbc.exception.NestedSQLException:
    --- The error occurred in derby/derby-message.xml.
    --- The error occurred while applying a parameter map.
    --- Check the Message.insert-message-param.
    --- Check the parameter mapping for the 'channelMap' property.
    --- Cause: java.lang.NullPointerException
    The full stacktrace at the end of this message.

    Is this some derby misconfiguration in Mirth? Or some DB inconsistency?

    This is a fresh install of Mirth 1.6.1 and this are the first messages processed.

    All subsequent message processing of jms-jboss2file fail with the same exception.

    Any help would be great.

    Regards.



    Code:
    08:17:11,984 ERROR [MessageObjectController] could not log message: id=eb2ecc57-68de-4ecb-b50d-576b0d1ae146
    com.ibatis.common.jdbc.exception.NestedSQLException:
    --- The error occurred in derby/derby-message.xml.
    --- The error occurred while applying a parameter map.
    --- Check the Message.insert-message-param.
    --- Check the parameter mapping for the 'channelMap' property.
    --- Cause: java.lang.NullPointerException
    Caused by: java.lang.NullPointerException
            at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:94)
            at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:447)
            at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
            at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)
            at com.webreach.mirth.server.controllers.MessageObjectController.writeMessageToDatabase(MessageObjectController.java:200)
            at com.webreach.mirth.server.controllers.MessageObjectController.updateMessage(MessageObjectController.java:172)
    
            at com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.transform(JavaScriptTransformer.java:291)
            at org.mule.transformers.AbstractEventAwareTransformer.doTransform(AbstractEventAwareTransformer.java:48)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200)
            at org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251)
            at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:61)
            at org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:79)
            at org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:492)
            at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:271)
            at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:230)
            at com.webreach.mirth.connectors.jms.JmsMessageReceiver.onMessage(JmsMessageReceiver.java:113)
            at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:682)
            at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NullPointerException
            at com.webreach.mirth.server.sqlmap.extensions.MapTypeHandler.setParameter(MapTypeHandler.java:24)
            at com.ibatis.sqlmap.engine.type.CustomTypeHandler.setParameter(CustomTypeHandler.java:46)
            at com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.setParameter(BasicParameterMap.java:165)
            at com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.setParameters(BasicParameterMap.java:125)
            at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:79)
            at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
            at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
            ... 20 more
    
    Caused by:
    java.lang.NullPointerException
            at com.webreach.mirth.server.sqlmap.extensions.MapTypeHandler.setParameter(MapTypeHandler.java:24)
            at com.ibatis.sqlmap.engine.type.CustomTypeHandler.setParameter(CustomTypeHandler.java:46)
            at com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.setParameter(BasicParameterMap.java:165)
            at com.ibatis.sqlmap.engine.mapping.parameter.BasicParameterMap.setParameters(BasicParameterMap.java:125)
            at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:79)
            at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteUpdate(GeneralStatement.java:200)
            at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeUpdate(GeneralStatement.java:78)
            at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:447)
            at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
            at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:59)
            at com.webreach.mirth.server.controllers.MessageObjectController.writeMessageToDatabase(MessageObjectController.java:200)
            at com.webreach.mirth.server.controllers.MessageObjectController.updateMessage(MessageObjectController.java:172)
    
            at com.webreach.mirth.server.mule.transformers.JavaScriptTransformer.transform(JavaScriptTransformer.java:291)
            at org.mule.transformers.AbstractEventAwareTransformer.doTransform(AbstractEventAwareTransformer.java:48)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:197)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200)
            at org.mule.transformers.AbstractTransformer.transform(AbstractTransformer.java:200)
            at org.mule.impl.MuleEvent.getTransformedMessage(MuleEvent.java:251)
            at org.mule.routing.inbound.SelectiveConsumer.isMatch(SelectiveConsumer.java:61)
            at org.mule.routing.inbound.InboundMessageRouter.route(InboundMessageRouter.java:79)
            at org.mule.providers.AbstractMessageReceiver$DefaultInternalMessageListener.onMessage(AbstractMessageReceiver.java:492)
            at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:271)
            at org.mule.providers.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:230)
            at com.webreach.mirth.connectors.jms.JmsMessageReceiver.onMessage(JmsMessageReceiver.java:113)
            at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:682)
            at java.lang.Thread.run(Thread.java:595)

  • #2
    Re:SQLException while inserting message in derby

    I've installed and configured Mirth to use postgres instead of derby with the same result.

    So this issue seems to be independant from using derby or not.

    I've create a JIRA issue for this:

    http://www.mirthproject.org/communit...owse/MIRTH-542

    Comment

    Working...
    X