You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "michael elbaz (Jira)" <ji...@apache.org> on 2020/05/19 09:28:00 UTC
[jira] [Created] (CAMEL-15086) RabbitMQ args
michael elbaz created CAMEL-15086:
-------------------------------------
Summary: RabbitMQ args
Key: CAMEL-15086
URL: https://issues.apache.org/jira/browse/CAMEL-15086
Project: Camel
Issue Type: Bug
Components: camel-rabbitmq
Environment:
{code:java}
// Some comments here
public String getFoo()
{
return foo;
}
{code}
Reporter: michael elbaz
Again with camel rabbitmq and args (https://jira.apache.org/jira/browse/CAMEL-14242?filter=-2)
# We can't use args with concurrent consumer
{code:java}
from("rabbitmq:test?queue=test&arg.queue.x-max-priority=10&prefetchEnabled=true&prefetchCount=10&concurrentConsumers=2")
.to("log:cheese");
{code}
{code:java}
java.io.IOException: null
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:129) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:125) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:147) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.ChannelN.queueDeclare(ChannelN.java:968) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.queueDeclare(AutorecoveringChannel.java:333) ~[amqp-client-5.7.3.jar:5.7.3]
at org.apache.camel.component.rabbitmq.RabbitMQDeclareSupport.declareAndBindQueue(RabbitMQDeclareSupport.java:132) ~[camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitMQDeclareSupport.declareAndBindExchangeWithQueue(RabbitMQDeclareSupport.java:55) ~[camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitMQDeclareSupport.declareAndBindExchangesAndQueuesUsing(RabbitMQDeclareSupport.java:36) ~[camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitMQEndpoint.declareExchangeAndQueue(RabbitMQEndpoint.java:243) ~[camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitConsumer.openChannel(RabbitConsumer.java:353) ~[camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitConsumer.reconnect(RabbitConsumer.java:324) ~[camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitMQConsumer$StartConsumerCallable.call(RabbitMQConsumer.java:221) [camel-rabbitmq-3.3.0.jar:3.3.0]
at org.apache.camel.component.rabbitmq.RabbitMQConsumer$StartConsumerCallable.call(RabbitMQConsumer.java:201) [camel-rabbitmq-3.3.0.jar:3.3.0]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_201]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_201]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg 'x-max-priority' for queue 'test' in vhost '/': received none but current is the value '10' of type 'signedint', class-id=50, method-id=10)
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:66) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue(BlockingValueOrException.java:36) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply(AMQChannel.java:502) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:293) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:141) ~[amqp-client-5.7.3.jar:5.7.3]
... 14 common frames omitted
Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILED - inequivalent arg 'x-max-priority' for queue 'test' in vhost '/': received none but current is the value '10' of type 'signedint', class-id=50, method-id=10)
at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:522) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:346) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:182) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:114) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:672) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQConnection.access$300(AMQConnection.java:48) ~[amqp-client-5.7.3.jar:5.7.3]
at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:599) ~[amqp-client-5.7.3.jar:5.7.3]
... 1 common frames omitted
{code}
# There is no way again to pass args parameter using endpointdsl
{code:java}
rabbitmq("test")
.queue("test")
.prefetchEnabled(true)
.concurrentConsumers(rabbitMqConfiguration.getPoolSize())
.prefetchCount(30)
.advanced()
// The map here will be serialized using toString instead of using its entries
.args(Collections.singletonMap("x-max-priority", 10))
.threadPoolSize(rabbitMqConfiguration.getPoolSize())
{code}
# There is no bindArgs parameter but the doc show one
Please could you restore the old and simplest way to add args parameter
--
This message was sent by Atlassian Jira
(v8.3.4#803005)