【发布时间】:2021-08-03 11:57:04
【问题描述】:
我正在将我的应用程序从 SpringBoot 1.5 升级到 2.3,下面的 rabbitmq 代码部分会抛出 java.lang.IllegalArgumentException: invalid value in table
代码sn-p
private ProcessorDefinition<RouteDefinition> sendMessage() {
return from("direct:publish-message").routeId("SendMessage")
.to("{{rabbitmq.producer.endpoint}}");
}
application.properties 中配置的生产者端点如下
rabbitmq.producer.endpoint = rabbitmq://${spring.rabbitmq.host}/${exchangeName}?BridgeEndpoint=true&queue=${producerQueueName}&autoDelete=false&declare=true&routingKey=${routingKey}&exchangeType=topic&connectionFactory=#connectionFactory
错误
ERROR SendMessage - ID-IN-00500980-1227984484357-0-4 >>> Exception , java.lang.IllegalArgumentException: invalid value in table
at com.rabbitmq.client.impl.Frame.fieldValueSize(Frame.java:310)
at com.rabbitmq.client.impl.Frame.arraySize(Frame.java:321)
at com.rabbitmq.client.impl.Frame.fieldValueSize(Frame.java:302)
at com.rabbitmq.client.impl.Frame.tableSize(Frame.java:250)
at com.rabbitmq.client.impl.ValueWriter.writeTable(ValueWriter.java:119)
at com.rabbitmq.client.impl.ContentHeaderPropertyWriter.writeTable(ContentHeaderPropertyWriter.java:97)
at com.rabbitmq.client.AMQP$BasicProperties.writePropertiesTo(AMQP.java:1848)
at com.rabbitmq.client.impl.AMQContentHeader.writeTo(AMQContentHeader.java:50)
at com.rabbitmq.client.impl.AMQContentHeader.toFrame(AMQContentHeader.java:78)
at com.rabbitmq.client.impl.AMQCommand.transmit(AMQCommand.java:107)
at com.rabbitmq.client.impl.AMQChannel.quiescingTransmit(AMQChannel.java:455)
at com.rabbitmq.client.impl.AMQChannel.transmit(AMQChannel.java:428)
at com.rabbitmq.client.impl.ChannelN.basicPublish(ChannelN.java:710)
at com.rabbitmq.client.impl.recovery.AutorecoveringChannel.basicPublish(AutorecoveringChannel.java:207)
at org.apache.camel.component.rabbitmq.RabbitMQMessagePublisher.publishToRabbitMQ(RabbitMQMessagePublisher.java:129)
at org.apache.camel.component.rabbitmq.RabbitMQMessagePublisher.publish(RabbitMQMessagePublisher.java:103)
at org.apache.camel.component.rabbitmq.RabbitMQEndpoint.publishExchangeToChannel(RabbitMQEndpoint.java:209)
at org.apache.camel.component.rabbitmq.RabbitMQProducer$2.doWithChannel(RabbitMQProducer.java:288)
at org.apache.camel.component.rabbitmq.RabbitMQProducer$2.doWithChannel(RabbitMQProducer.java:285)
at org.apache.camel.component.rabbitmq.RabbitMQProducer.execute(RabbitMQProducer.java:90)
at org.apache.camel.component.rabbitmq.RabbitMQProducer.basicPublish(RabbitMQProducer.java:285)
at org.apache.camel.component.rabbitmq.RabbitMQProducer.processInOnly(RabbitMQProducer.java:272)
at org.apache.camel.component.rabbitmq.RabbitMQProducer.process(RabbitMQProducer.java:197)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:134)
at org.apache.camel.management.DefaultInstrumentationProcessor.process(DefaultInstrumentationProcessor.java:78)
at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryState.run(RedeliveryErrorHandler.java:476)
at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:185)
at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:59)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:87)
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:228)
at org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:193)
at org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:75)
at java.base/java.util.TimerThread.mainLoop(Timer.java:556)
at java.base/java.util.TimerThread.run(Timer.java:506)
谁能提出导致此问题的原因?
谢谢
【问题讨论】:
标签: java spring-boot rabbitmq