Announcement

Collapse
No announcement yet.

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