bash
2025-10-20 17:16:36.617 [pool-12-thread-11] ERROR o.s.a.rabbit.connection.CachingConnectionFactory - Shutdown Signal: clean channel shutdown; protocol method: #method<channel.close>(reply-code=200, reply-text=Closed due to exception from Consumer (amq.ctag-ja4pIuPdegz5H6D0lsEotQ) method handleDelivery for channel AMQChannel(amqp://xxxx:5672/,5), class-id=0, method-id=0)
2025-10-20 17:16:37.621 [pool-12-thread-18] ERROR com.rabbitmq.client.impl.ForgivingExceptionHandler - Consumer io.opentelemetry.javaagent.instrumentation.rabbitmq.TracedDelegatingConsumer@19b690ad (amq.ctag-e35fwqYed-Z1IYYYFrvBPQ) method handleDelivery for channel AMQChannel(amqp://xxxx:5672/,5) threw an exception for channel AMQChannel(amqp://xxxx:5672/,5)
java.lang.StringIndexOutOfBoundsException: String index out of range: 88
at java.lang.String.substring(String.java:1963)
at io.opentelemetry.javaagent.shaded.io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator.extractContextFromTrace
报错如上所示:
从怀疑MQ的原因,到消费者方法问题,查了个遍。
One thousand year later!
结果,原来是应用启动时带了一个opentelemetry-javaagent。把java -jar 后面内容的opentelemetry-javaagent删除即可。