You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2015/11/17 20:24:11 UTC
[jira] [Commented] (AMQNET-513) Exception message is not propagated
in case of consumption failure
[ https://issues.apache.org/jira/browse/AMQNET-513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15009315#comment-15009315 ]
Timothy Bish commented on AMQNET-513:
-------------------------------------
Have you tried this with 1.7.1? There were some additional fixes in there around the ack / poison handling.
> Exception message is not propagated in case of consumption failure
> ------------------------------------------------------------------
>
> Key: AMQNET-513
> URL: https://issues.apache.org/jira/browse/AMQNET-513
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: NMS
> Affects Versions: 1.6.2, 1.7.0
> Reporter: Maxim Cherednik
> Assignee: Jim Gomes
>
> 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:
> {code:title=Consumer.cs|borderStyle=solid}
> 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"));
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)