Hi Devs,

When publishing to RabbitMQ from WSO2 EI 6.1.1 [1], if the queue size is
reached (RabbitMQ Publisher Confirms) then it throws an exception in EI. As
per [2], this throws an axis2 exception, but in the fault sequence, the
error code is 0 as [3]. Since the error code is not defined, is there a way
to differentiate the nacks when publishing messages to queue?

[1] -
<call>
    <endpoint name="EP-Queue-Confirm" xmlns="http://ws.apache.org/ns/synapse
">
    <address uri="rabbitmq:/AMQPProducer?rabbitmq.server.host.name
=localhost&amp;rabbitmq.server.port=5672&amp;rabbitmq.queue.name
=Q-SampleEsb&amp;rabbitmq.queue.route.key=R-SampleEsb&amp;
rabbitmq.exchange.name=Ex-SampleEsb&amp;*rabbitmq.confirm.delivery=true*"/>
</endpoint>
</call>

[2] -
[EI-Core] ERROR - RabbitMQMessageSender Error while publishing the message
java.io.IOException: nacks received
at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:226)
at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:214)
at
com.rabbitmq.client.impl.recovery.AutorecoveringChannel.waitForConfirmsOrDie(AutorecoveringChannel.java:533)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:274)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.send(RabbitMQMessageSender.java:81)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:108)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:83)
at
org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at
org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at
org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548)
at
org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382)
at
org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
at
org.apache.synapse.endpoints.ResolvingEndpoint.sendMessage(ResolvingEndpoint.java:74)
at
org.apache.synapse.endpoints.ResolvingEndpoint.send(ResolvingEndpoint.java:58)
at
org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:246)
at
org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:115)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.rest.Resource.process(Resource.java:343)
at org.apache.synapse.rest.API.process(API.java:399)
at
org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123)
at
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101)
at
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)
at
org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at
org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:326)
at
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[EI-Core] ERROR - RabbitMQSender Error occurred while sending message out
org.apache.axis2.transport.rabbitmq.utils.AxisRabbitMQException: Error
while publishing the message
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.handleException(RabbitMQMessageSender.java:314)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:278)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.send(RabbitMQMessageSender.java:81)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:108)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:83)
at
org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at
org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at
org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548)
at
org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382)
at
org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
at
org.apache.synapse.endpoints.ResolvingEndpoint.sendMessage(ResolvingEndpoint.java:74)
at
org.apache.synapse.endpoints.ResolvingEndpoint.send(ResolvingEndpoint.java:58)
at
org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:246)
at
org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:115)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.rest.Resource.process(Resource.java:343)
at org.apache.synapse.rest.API.process(API.java:399)
at
org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123)
at
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101)
at
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)
at
org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at
org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:326)
at
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: nacks received
at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:226)
at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:214)
at
com.rabbitmq.client.impl.recovery.AutorecoveringChannel.waitForConfirmsOrDie(AutorecoveringChannel.java:533)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:274)
... 41 more
[EI-Core] ERROR - Axis2Sender Unexpected error during sending message out
org.apache.axis2.AxisFault: Error occurred while sending message out
at
org.apache.axis2.transport.base.AbstractTransportSender.handleException(AbstractTransportSender.java:226)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:112)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:83)
at
org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at
org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at
org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:595)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:83)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548)
at
org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382)
at
org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
at
org.apache.synapse.endpoints.ResolvingEndpoint.sendMessage(ResolvingEndpoint.java:74)
at
org.apache.synapse.endpoints.ResolvingEndpoint.send(ResolvingEndpoint.java:58)
at
org.apache.synapse.mediators.builtin.CallMediator.handleNonBlockingCall(CallMediator.java:246)
at
org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:115)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.rest.Resource.process(Resource.java:343)
at org.apache.synapse.rest.API.process(API.java:399)
at
org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:123)
at
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101)
at
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:69)
at
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:304)
at
org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:78)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at
org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:326)
at
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:158)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.axis2.transport.rabbitmq.utils.AxisRabbitMQException:
Error while publishing the message
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.handleException(RabbitMQMessageSender.java:314)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:278)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.send(RabbitMQMessageSender.java:81)
at
org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:108)
... 39 more
Caused by: java.io.IOException: nacks received
at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:226)
at com.rabbitmq.client.impl.ChannelN.waitForConfirmsOrDie(ChannelN.java:214)
at
com.rabbitmq.client.impl.recovery.AutorecoveringChannel.waitForConfirmsOrDie(AutorecoveringChannel.java:533)
at
org.apache.axis2.transport.rabbitmq.RabbitMQMessageSender.publish(RabbitMQMessageSender.java:274)
... 41 more

[3] -
[EI-Core]  INFO - LogMediator To: /rabbitmq-api, MessageID:
urn:uuid:a7388de1-6df8-4673-82ee-7faa3d37375b, Direction: request, *ERROR_CODE
= 0, ERROR_MESSAGE = Unexpected error during sending message out,
SENDING_FAULT = null*

Regards,
Nira
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to