I am trying to send a JMS message using Spring JmsTemplate like below.
jmsTemplate.convertAndSend(topicName, WebsocketMessage("<message content>"))
And, I am using MappingJackson2MessageConverter as message converter. I have configured micrometer tracing with baggage fields that contains ‘X-Correlation-Id’.
But I am facing below error.
jakarta.jms.JMSRuntimeException: AMQ139012: The property name 'x-correlation-id' is not a valid java identifier.
at org.apache.activemq.artemis.jms.client.ActiveMQMessage.checkProperty(ActiveMQMessage.java:911)
at org.apache.activemq.artemis.jms.client.ActiveMQMessage.setStringProperty(ActiveMQMessage.java:669)
at io.micrometer.jakarta9.instrument.jms.JmsPublishObservationContext.lambda$new$0(JmsPublishObservationContext.java:40)
at io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler.lambda$onStart$0(PropagatingSenderTracingObservationHandler.java:60)
at brave.baggage.BaggagePropagation$BaggageInjector.inject(BaggagePropagation.java:342)
at io.micrometer.tracing.brave.bridge.BravePropagator.inject(BravePropagator.java:53)
at io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler.onStart(PropagatingSenderTracingObservationHandler.java:59)
at io.micrometer.tracing.handler.PropagatingSenderTracingObservationHandler.onStart(PropagatingSenderTracingObservationHandler.java:35)
at io.micrometer.observation.ObservationHandler$FirstMatchingCompositeObservationHandler.onStart(ObservationHandler.java:149)
at io.micrometer.observation.SimpleObservation.notifyOnObservationStarted(SimpleObservation.java:214)
at io.micrometer.observation.SimpleObservation.start(SimpleObservation.java:161)
at io.micrometer.jakarta9.instrument.jms.MessageProducerInvocationHandler.invoke(MessageProducerInvocationHandler.java:57)
at jdk.proxy2/jdk.proxy2.$Proxy258.send(Unknown Source)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:657)
at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:634)
at org.springframework.jms.core.JmsTemplate.lambda$send$3(JmsTemplate.java:612)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:530)
at org.springframework.jms.core.JmsTemplate.send(JmsTemplate.java:610)
at org.springframework.jms.core.JmsTemplate.convertAndSend(JmsTemplate.java:687)