4 Replies Latest reply on Jun 16, 2008 3:07 AM by roger

    JMSException upon ServiceMix shutdown?!

    roger

      Hi all,

       

      We have experienced exceptions lately upon shutting down (Ctrl-C) ServiceMix. Please find the error messages (produced two to four times per shutdown) below.

       

      Question #1: Does anyone have any idea why this is happening?

       

      Question #2: Is ServiceMix automatically trying to locate other ServiceMix instances on the LAN? So it seems, since we have experienced strange error messages (Connection reset, etc) when having multiple instances running (independently, or so we thought) on different machines. Is this somehow related to the error below?

       

      Regards,

      Roger

       

      -cut-

      ERROR - Service                        - Async error occurred: javax.jms.JMSException: Invalid acknowledgment: MessageAck {commandId = 23, responseRequired = false, ackType = 3, consumerId = ID:srmwse04-4154-1213177253836-2:2:-1:2, firstMessageId = I

      D:srmwse04-4154-1213177253836-2:10:6:1:1, lastMessageId = ID:srmwse04-4154-1213177253836-2:10:6:1:1, destination = topic://org.apache.servicemix.JCAFlow, transactionId = null, messageCount = 1}

      javax.jms.JMSException: Invalid acknowledgment: MessageAck {commandId = 23, responseRequired = false, ackType = 3, consumerId = ID:srmwse04-4154-1213177253836-2:2:-1:2, firstMessageId = ID:srmwse04-4154-1213177253836-2:10:6:1:1, lastMessageId = ID:sr

      mwse04-4154-1213177253836-2:10:6:1:1, destination = topic://org.apache.servicemix.JCAFlow, transactionId = null, messageCount = 1}

      .        at org.apache.activemq.broker.region.TopicSubscription.acknowledge(TopicSubscription.java:216)

      .        at org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:359)

      .        at org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)

      .        at org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)

      .        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)

      .        at org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)

      .        at org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)

      .        at org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:444)

      .        at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)

      .        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:293)

      .        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:181)

      .        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)

      .        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)

      .        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)

      .        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)

      .        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)

      .        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)

      .        at java.lang.Thread.run(Thread.java:619)

      -cut-

       

      Edited by: roger on Jun 11, 2008 9:14 AM

        • 1. Re: JMSException upon ServiceMix shutdown?!
          mielket

          Not entirely sure if this relates to your exception, but in the default underlying ActiveMQ configuration a network connector that uses multicast to discover other brokers will be started.

           

          <!-- activemq.xml -->
          <amq:networkConnectors>
                <!-- by default just auto discover the other brokers -->
                <amq:networkConnector uri="multicast://default"></amq:networkConnector>
          </amq:networkConnectors>
          

           

          So if you start multiple instances of ServiceMix or even ActiveMQ inside your LAN they will auto discover each other and form a cluster.

          • 2. Re: JMSException upon ServiceMix shutdown?!
            roger

            OK, so you mean these exceptions might be due to my ServiceMix (or rather ActiveMQ) instance has automatically discovered another instance and connected to them? This might very much be the case, since we are several developers on the same LAN. Do you have any suggestions for an alternative configuration, e.g. in a LAN-based development environment?

             

            Regards,

            Roger

            • 3. Re: JMSException upon ServiceMix shutdown?!
              bsnyder

              This was actually an issue in ActiveMQ that was fixed in ESB-166/[ESB-221|http://open.iona.com/issues/browse/ESB-221].

               

              Bruce

              • 4. Re: JMSException upon ServiceMix shutdown?!
                roger

                Ah, thank you! I will download the latest version and (hopefully) watch the exception disappear!