Another example when I define a max_message_size on the broker and try to send 
a message that is bigger than this limit.
Through the broker:

javax.jms.JMSException: delivery '\x00' exceeds max-message-size 10240 
[condition = amqp:link:message-size-exceeded]
                at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:167)
                at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:118)
                at 
org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:264)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:975)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:107)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider$16.run(AmqpProvider.java:834)
                at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

Through the dispatch-router:

javax.jms.JMSException: Delivery failed: failure at remote
                at 
org.apache.qpid.jms.provider.amqp.AmqpFixedProducer.processDeliveryUpdates(AmqpFixedProducer.java:253)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:999)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:107)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider$16.run(AmqpProvider.java:834)
                at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

Olivier

From: VERMEULEN Olivier
Sent: mardi 6 novembre 2018 16:18
To: users@qpid.apache.org
Subject: [Dispatch Router] Exceptions handling

Hello,

I have the following setup : 1 dispatch-router (with defaultDistribution set to 
unavailable), 1 broker and 1 JMS client.
When I try to send to a topic that does not exist, while connected to the 
broker directly, I get the following exception:

javax.jms.InvalidDestinationException: Could not find destination for target 
'Target{address=unknownDestination,durable=none,expiryPolicy=session-end,dynamic=false,capabilities=[topic]}'
 [condition = amqp:not-found]
                at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:153)
                at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:118)
                at 
org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.handleClosed(AmqpResourceBuilder.java:185)
                at 
org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.processRemoteClose(AmqpResourceBuilder.java:129)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:975)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:107)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider$16.run(AmqpProvider.java:834)
                at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

If I do the same thing but through the dispatch-router I get this exception:

javax.jms.InvalidDestinationException: Node not found [condition = 
amqp:not-found]
                at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:153)
                at 
org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:118)
                at 
org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.handleClosed(AmqpResourceBuilder.java:185)
                at 
org.apache.qpid.jms.provider.amqp.builders.AmqpResourceBuilder.processRemoteClose(AmqpResourceBuilder.java:129)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:975)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:107)
                at 
org.apache.qpid.jms.provider.amqp.AmqpProvider$16.run(AmqpProvider.java:834)
                at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:748)

Would it be possible to have the same level of information in both cases?

Thanks,
Olivier
******************************* This e-mail contains information for the 
intended recipient only. It may contain proprietary material or confidential 
information. If you are not the intended recipient you are not authorized to 
distribute, copy or use this e-mail or any attachment to it. Murex cannot 
guarantee that it is virus free and accepts no responsibility for any loss or 
damage arising from its use. If you have received this e-mail in error please 
notify immediately the sender and delete the original email received, any 
attachments and all copies from your system.

Reply via email to