You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Maxim Cherednik (JIRA)" <ji...@apache.org> on 2015/11/12 09:02:11 UTC
[jira] [Updated] (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:all-tabpanel ]
Maxim Cherednik updated AMQNET-513:
-----------------------------------
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:
{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}
was:
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) ?
> 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)