Announcement

Collapse

NextGen (Mirth) Connect 3.10.0 Released!

NextGen (Mirth) Connect 3.10.0 is now available as an appliance update and on our GitHub page. This release includes better SQL Server database support, security improvements through fixes and library updates, and improvements for the Advanced Clustering plugin with a focus on improving performance of many of the tasks that are carried out on a frequent interval. 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

jms reader for openjms

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

  • jms reader for openjms

    Can someone please provide me with the correct values for configuring a jms reader channel source for openjms? I had no problem configuring the jms writer channel destination and I am successfully receiving HL7 on a socket (llp) and publishing it to an openjms topic. However, I've tried for days to configure a jms reader to process/subscribe to the topic messages without success. I get no error message when I deploy my channels and when I start the jms reader channel, it starts but nothing happens (topic messages doesn't get read in). I've tried every variation of the destination value I could possibly think of (all possible variations of 'topic:EWS.CDR' where EWS is the topic and CDR is the consumer or subscriber in openjms).

    I guess while I'm asking: can someone also please tell me how to configure my jms writer and jms reader to be durable? When I try to set durable to yes and provide a numeric client id, mirth/mule throws a null pointer exception.

    Thanks...Rich

  • #2
    Re:jms reader for openjms

    Please post the exception...thanks.
    Brendan Haverlock | Mirth Software Engineer | Mirth Corporation

    Comment


    • #3
      Re:jms reader for openjms

      Now when I set durable to yes and specify a client id for my jms writer and reader I no longer get an npe. i now get the following generic error (no stack trace):

      ERROR 2007-06-08 16:39:18,125 [Thread-0] com.webreach.mirth.server.mule.providers.jms.JmsCo nnector: Unable to create Jms connection

      In the meantime, can you please provide me with all the other correct jms reader channel settings for a non-durable openjms topic?

      Thanks...Rich

      Comment


      • #4
        Re:jms reader for openjms

        activemq.xml (6232 bytes)

        Ok...since openjms doesn't seem to be getting us anywhere I thought I'd try activemq. I'm able to get a little farther now with my jms reader: it will now actually fire when the jms writer sends a message to a queue but the jms reader is issuing a null pointer exception (something to do with derby-message.xml and channelMap. I've attached my mirth & activemq configuration files and here is the stack trace for the npe:

        ERROR 2007-06-13 14:51:10,329 [ActiveMQ Session Task] com.webreach.mirth.server.controllers.MessageObjec tController: could not log message: id=3c017840-4fbf-4d85-9102-b650cfc6667a
        com.ibatis.common.jdbc.exception.NestedSQLExceptio n:
        --- 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.General Statement.executeUpdate(GeneralStatement.java:94)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelega te.insert(SqlMapExecutorDelegate.java:447)
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.in sert(SqlMapSessionImpl.java:82)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.ins ert(SqlMapClientImpl.java:59)
        at com.webreach.mirth.server.controllers.MessageObjec tController.writeMessageToDatabase(MessageObjectCo ntroller.java:178)
        at com.webreach.mirth.server.controllers.MessageObjec tController.updateMessage(MessageObjectController. java:153)
        at com.webreach.mirth.server.controllers.MessageObjec tController.setStatus(MessageObjectController.java :517)
        at com.webreach.mirth.server.controllers.MessageObjec tController.setSuccess(MessageObjectController.jav a:493)
        at com.webreach.mirth.server.mule.providers.jdbc.Jdbc MessageDispatcher.doDispatch(JdbcMessageDispatcher .java:99)
        at com.webreach.mirth.server.mule.providers.jdbc.Jdbc MessageDispatcher.doSend(JdbcMessageDispatcher.jav a:149)
        at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:166)
        at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
        at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
        at org.mule.routing.outbound.AbstractOutboundRouter.s end(AbstractOutboundRouter.java:85)
        at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:89)
        at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(OutboundMessageRouter.java:78)
        at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:48)
        at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:82)
        at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul tMuleProxy.java:247)
        at org.mule.impl.model.seda.SedaComponent.doSend(Seda Component.java:209)
        at org.mule.impl.model.AbstractComponent.sendEvent(Ab stractComponent.java:277)
        at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
        at org.mule.routing.inbound.InboundMessageRouter.send (InboundMessageRouter.java:161)
        at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:128)
        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:230)
        at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:225)
        at com.webreach.mirth.server.mule.providers.jms.JmsMe ssageReceiver.onMessage(JmsMessageReceiver.java:10 4)
        at org.apache.activemq.ActiveMQMessageConsumer.dispat ch(ActiveMQMessageConsumer.java:870)
        at org.apache.activemq.ActiveMQSessionExecutor.dispat ch(ActiveMQSessionExecutor.java:122)
        at org.apache.activemq.ActiveMQSessionExecutor.iterat e(ActiveMQSessionExecutor.java:189)
        at org.apache.activemq.thread.PooledTaskRunner.runTas k(PooledTaskRunner.java:115)
        at org.apache.activemq.thread.PooledTaskRunner.access $100(PooledTaskRunner.java:26)
        at org.apache.activemq.thread.PooledTaskRunner$1.run( PooledTaskRunner.java:44)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
        Caused by: java.lang.NullPointerException
        at com.webreach.mirth.server.sqlmap.extensions.MapTyp eHandler.setParameter(MapTypeHandler.java:24)
        at com.ibatis.sqlmap.engine.type.CustomTypeHandler.se tParameter(CustomTypeHandler.java:46)
        at com.ibatis.sqlmap.engine.mapping.parameter.BasicPa rameterMap.setParameter(BasicParameterMap.java:165 )
        at com.ibatis.sqlmap.engine.mapping.parameter.BasicPa rameterMap.setParameters(BasicParameterMap.java:12 5)
        at com.ibatis.sqlmap.engine.execution.SqlExecutor.exe cuteUpdate(SqlExecutor.java:79)
        at com.ibatis.sqlmap.engine.mapping.statement.General Statement.sqlExecuteUpdate(GeneralStatement.java:2 00)
        at com.ibatis.sqlmap.engine.mapping.statement.General Statement.executeUpdate(GeneralStatement.java:78)
        ... 37 more

        Caused by:
        java.lang.NullPointerException
        at com.webreach.mirth.server.sqlmap.extensions.MapTyp eHandler.setParameter(MapTypeHandler.java:24)
        at com.ibatis.sqlmap.engine.type.CustomTypeHandler.se tParameter(CustomTypeHandler.java:46)
        at com.ibatis.sqlmap.engine.mapping.parameter.BasicPa rameterMap.setParameter(BasicParameterMap.java:165 )
        at com.ibatis.sqlmap.engine.mapping.parameter.BasicPa rameterMap.setParameters(BasicParameterMap.java:12 5)
        at com.ibatis.sqlmap.engine.execution.SqlExecutor.exe cuteUpdate(SqlExecutor.java:79)
        at com.ibatis.sqlmap.engine.mapping.statement.General Statement.sqlExecuteUpdate(GeneralStatement.java:2 00)
        at com.ibatis.sqlmap.engine.mapping.statement.General Statement.executeUpdate(GeneralStatement.java:78)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelega te.insert(SqlMapExecutorDelegate.java:447)
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.in sert(SqlMapSessionImpl.java:82)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.ins ert(SqlMapClientImpl.java:59)
        at com.webreach.mirth.server.controllers.MessageObjec tController.writeMessageToDatabase(MessageObjectCo ntroller.java:178)
        at com.webreach.mirth.server.controllers.MessageObjec tController.updateMessage(MessageObjectController. java:153)
        at com.webreach.mirth.server.controllers.MessageObjec tController.setStatus(MessageObjectController.java :517)
        at com.webreach.mirth.server.controllers.MessageObjec tController.setSuccess(MessageObjectController.jav a:493)
        at com.webreach.mirth.server.mule.providers.jdbc.Jdbc MessageDispatcher.doDispatch(JdbcMessageDispatcher .java:99)
        at com.webreach.mirth.server.mule.providers.jdbc.Jdbc MessageDispatcher.doSend(JdbcMessageDispatcher.jav a:149)
        at org.mule.providers.AbstractMessageDispatcher.send( AbstractMessageDispatcher.java:166)
        at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:191)
        at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:130)
        at org.mule.routing.outbound.AbstractOutboundRouter.s end(AbstractOutboundRouter.java:85)
        at org.mule.routing.outbound.FilteringMulticastingRou ter.route(FilteringMulticastingRouter.java:89)
        at org.mule.routing.outbound.OutboundMessageRouter$1. doInTransaction(OutboundMessageRouter.java:78)
        at org.mule.transaction.TransactionTemplate.execute(T ransactionTemplate.java:48)
        at org.mule.routing.outbound.OutboundMessageRouter.ro ute(OutboundMessageRouter.java:82)
        at org.mule.impl.model.DefaultMuleProxy.onCall(Defaul tMuleProxy.java:247)
        at org.mule.impl.model.seda.SedaComponent.doSend(Seda Component.java:209)
        at org.mule.impl.model.AbstractComponent.sendEvent(Ab stractComponent.java:277)
        at org.mule.impl.MuleSession.sendEvent(MuleSession.ja va:201)
        at org.mule.routing.inbound.InboundMessageRouter.send (InboundMessageRouter.java:161)
        at org.mule.routing.inbound.InboundMessageRouter.rout e(InboundMessageRouter.java:128)
        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:230)
        at org.mule.providers.AbstractMessageReceiver.routeMe ssage(AbstractMessageReceiver.java:225)
        at com.webreach.mirth.server.mule.providers.jms.JmsMe ssageReceiver.onMessage(JmsMessageReceiver.java:10 4)
        at org.apache.activemq.ActiveMQMessageConsumer.dispat ch(ActiveMQMessageConsumer.java:870)
        at org.apache.activemq.ActiveMQSessionExecutor.dispat ch(ActiveMQSessionExecutor.java:122)
        at org.apache.activemq.ActiveMQSessionExecutor.iterat e(ActiveMQSessionExecutor.java:189)
        at org.apache.activemq.thread.PooledTaskRunner.runTas k(PooledTaskRunner.java:115)
        at org.apache.activemq.thread.PooledTaskRunner.access $100(PooledTaskRunner.java:26)
        at org.apache.activemq.thread.PooledTaskRunner$1.run( PooledTaskRunner.java:44)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)

        Post edited by: rkralic, at: 06/13/2007 12:20

        Comment


        • #5
          Re:jms reader for openjms

          I guess you can only attach one file per post...

          Comment


          • #6
            Re:jms reader for openjms

            mirth.properties =

            # configuration
            configuration.id=MirthConfiguration
            http.port=21980
            http.htdocs=public
            https.port=21981
            https.keystore=keystore
            https.password=abc12345
            https.keypassword=abc12345
            server.url=
            # server.url=https://localhost:21981
            database=derby
            # jmx connection
            jmx.url=service:jmx:rmi:///jndi/rmi://localhost:21999/server
            # mule
            mule.config = conf/mule-config.xml
            mule.boot = conf/mule-boot.xml

            Comment


            • #7
              Re:jms reader for openjms

              mule_boot.xml (2980 bytes)

              Comment


              • #8
                Re:jms reader for openjms

                mule_config-67eba0934f0b3cdb6f7b49dc86593baa.xml (17517 bytes)

                PS: The reason I'm using non-default port numbers is because if we end up using this integration tool we will need to run multiple mirth instances on the same server.

                Comment

                Working...
                X