This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.8.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.8.x by this push:
new 1ba70bf65f8 Backport kafka + sjms perf fixes (#16950)
1ba70bf65f8 is described below
commit 1ba70bf65f87f37ca09c28582e5357fda463ae69
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Tue Jan 28 14:31:20 2025 +0100
Backport kafka + sjms perf fixes (#16950)
* CAMEL-21663: fix NPE hurting sjms/sjms2 performance
* CAMEL-21664: avoid unnecessary type cache miss
---
.../camel/component/kafka/producer/support/ProducerUtil.java | 8 +++++---
.../org/apache/camel/component/sjms/jms/JmsMessageHelper.java | 11 ++++++++++-
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/producer/support/ProducerUtil.java
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/producer/support/ProducerUtil.java
index 7563d08f2f4..d9e04a4e7ed 100644
---
a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/producer/support/ProducerUtil.java
+++
b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/producer/support/ProducerUtil.java
@@ -75,9 +75,11 @@ public final class ProducerUtil {
public static void setRecordMetadata(Object body, List<RecordMetadata>
recordMetadataList) {
if (body instanceof Exchange ex) {
ex.getMessage().setHeader(KafkaConstants.KAFKA_RECORD_META,
recordMetadataList);
+ } else {
+ if (body instanceof Message msg) {
+ msg.setHeader(KafkaConstants.KAFKA_RECORD_META,
recordMetadataList);
+ }
}
- if (body instanceof Message msg) {
- msg.setHeader(KafkaConstants.KAFKA_RECORD_META,
recordMetadataList);
- }
+
}
}
diff --git
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
index 1d67dad7c23..e2495c83dc9 100644
---
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
+++
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/jms/JmsMessageHelper.java
@@ -321,6 +321,10 @@ public final class JmsMessageHelper {
* @return <tt>true</tt> if redelivered, <tt>false</tt> if not,
<tt>null</tt> if not able to determine
*/
public static Boolean getJMSRedelivered(Message message) {
+ if (message == null) {
+ return null;
+ }
+
try {
return message.getJMSRedelivered();
} catch (Exception e) {
@@ -432,7 +436,12 @@ public final class JmsMessageHelper {
*/
public static String getJMSCorrelationIDAsBytes(Message message) {
try {
- return new String(message.getJMSCorrelationIDAsBytes());
+ final byte[] jmsCorrelationIDAsBytes =
message.getJMSCorrelationIDAsBytes();
+ if (jmsCorrelationIDAsBytes != null) {
+ return new String(jmsCorrelationIDAsBytes);
+ }
+
+ return null;
} catch (Exception e) {
// ignore if JMS broker do not support this
}