Uploaded image for project: 'ActiveMQ .Net'
  1. ActiveMQ .Net
  2. AMQNET-513

Exception message is not propagated in case of consumption failure

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.6.2, 1.7.0, 1.7.1
    • 1.7.2
    • NMS
    • None

    Description

      After moving from version 1.6.2 to 1.7 we lost some functionality we were relying on.
      When we were failing to process message 6 times, it was moved to the Activemq.DLQ and the property dlqDeliveryFailureCause was filled with Exception message which was raised during the processing.
      After version update - the exception message is not propagated. This message instead:
      javax.jms.JMSException: Exceeded RedeliveryPolicy limit: 6

      Maybe there are other way to track which client failed to process message and why(exception message) ?

      Code sample:

      Consumer.cs
      static void Consume()
              {
                  var brokerUri = "";
                  var clientId = "test";
                  var connFactory = new ConnectionFactory(brokerUri, clientId);
      
                  _connection = connFactory.CreateConnection();
      
                  _connection.ExceptionListener += _connection_ExceptionListener;
                  _connection.ConnectionResumedListener += _connection_ConnectionResumedListener;
                  _connection.ConnectionInterruptedListener += _connection_ConnectionInterruptedListener;
      
                  var session = _connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
      
                  var q = session.GetTopic("TopicName");
                  var queue = session.CreateDurableConsumer(q, clientId, null, false);
      
      
                  queue.Listener += msgsConsumer_Listener;
      
                  _connection.Start();
              }
      
              static void msgsConsumer_Listener(IMessage message)
              {
                  Console.WriteLine("Consumed: " + message.NMSMessageId);
      
                  
      
                  throw new InvalidOperationException("Maxxxxxxx", new Exception("Maxxxxxxx"));
              }
      

      Attachments

        Issue Links

          Activity

            People

              tabish Timothy A. Bish
              maxim.cherednik Maxim Cherednik
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: