This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 33d9cd1eabc8 CAMEL-23562: camel-xmpp - upgrade Smack from 4.3.5 to 
4.4.8
33d9cd1eabc8 is described below

commit 33d9cd1eabc8eb6ddf848305ac0e1b4cbd68e4f2
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Jul 20 22:43:06 2026 +0200

    CAMEL-23562: camel-xmpp - upgrade Smack from 4.3.5 to 4.4.8
    
    Upgrade Smack dependency from 4.3.5 to 4.4.8. Replace the removed
    smack-java7 module with smack-java8, migrate DefaultExtensionElement
    to StandardExtensionElement, and fix the ambiguous toXML(null) call.
    Includes upgrade guide entry for 4.22.
    
    Closes #24958
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 components/camel-xmpp/pom.xml                               |  2 +-
 .../java/org/apache/camel/component/xmpp/XmppBinding.java   | 13 +++++++------
 .../java/org/apache/camel/component/xmpp/XmppLogger.java    |  2 +-
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc     | 10 ++++++++++
 parent/pom.xml                                              |  2 +-
 5 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/components/camel-xmpp/pom.xml b/components/camel-xmpp/pom.xml
index 10a8eabf30ca..88815edd1a7e 100644
--- a/components/camel-xmpp/pom.xml
+++ b/components/camel-xmpp/pom.xml
@@ -61,7 +61,7 @@
         </dependency>
         <dependency>
             <groupId>org.igniterealtime.smack</groupId>
-            <artifactId>smack-java7</artifactId>
+            <artifactId>smack-java8</artifactId>
             <version>${smack-version}</version>
         </dependency>
         <dependency>
diff --git 
a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
 
b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
index b4862547c03f..76d3a20a9d00 100644
--- 
a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
+++ 
b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.support.DefaultHeaderFilterStrategy;
 import org.apache.camel.util.ObjectHelper;
-import org.jivesoftware.smack.packet.DefaultExtensionElement;
 import org.jivesoftware.smack.packet.ExtensionElement;
 import org.jivesoftware.smack.packet.Message;
+import org.jivesoftware.smack.packet.StandardExtensionElement;
 import org.jivesoftware.smack.packet.Stanza;
 import org.jivesoftware.smackx.jiveproperties.JivePropertiesManager;
 import org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension;
@@ -135,8 +135,8 @@ public class XmppBinding {
         if (jpe instanceof JivePropertiesExtension) {
             extractHeadersFrom((JivePropertiesExtension) jpe, exchange, 
answer);
         }
-        if (jpe instanceof DefaultExtensionElement) {
-            extractHeadersFrom((DefaultExtensionElement) jpe, exchange, 
answer);
+        if (jpe instanceof StandardExtensionElement) {
+            extractHeadersFrom((StandardExtensionElement) jpe, exchange, 
answer);
         }
 
         if (stanza instanceof Message) {
@@ -165,9 +165,10 @@ public class XmppBinding {
         }
     }
 
-    private void extractHeadersFrom(DefaultExtensionElement jpe, Exchange 
exchange, Map<String, Object> answer) {
-        for (String name : jpe.getNames()) {
-            Object value = jpe.getValue(name);
+    private void extractHeadersFrom(StandardExtensionElement jpe, Exchange 
exchange, Map<String, Object> answer) {
+        for (StandardExtensionElement element : jpe.getElements()) {
+            String name = element.getElementName();
+            Object value = element.getText();
             if (!headerFilterStrategy.applyFilterToExternalHeaders(name, 
value, exchange)) {
                 answer.put(name, value);
             }
diff --git 
a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
 
b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
index 48edffc949d0..cfec90532b94 100644
--- 
a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
+++ 
b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java
@@ -33,7 +33,7 @@ public class XmppLogger implements StanzaListener {
     @Override
     public void processStanza(Stanza stanza) {
         if (LOG.isDebugEnabled()) {
-            LOG.debug("{} : {}", direction, stanza.toXML(null));
+            LOG.debug("{} : {}", direction, stanza.toXML());
         }
     }
 }
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
index a5eb1528120b..79f816747078 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc
@@ -496,6 +496,16 @@ by the file-based consumers (see the `localWorkDirectory` 
note in the 4.21 upgra
 Ordinary object names are unaffected. A name that resolves outside `fileDir` 
is now rejected with an
 `IllegalArgumentException`.
 
+=== camel-xmpp - Smack upgraded to 4.4
+
+The camel-xmpp component has upgraded Smack from 4.3.5 to 4.4.8. The 
`smack-java7` module no longer exists in
+Smack 4.4 and has been replaced by `smack-java8` (relevant if you declared it 
explicitly alongside camel-xmpp).
+When extracting headers from a stanza whose JiveProperties extension is not 
parsed by a registered provider,
+the unparsed extension is now represented by Smack's 
`StandardExtensionElement` (the replacement for the removed
+`DefaultExtensionElement`); flat child elements are mapped to headers as 
before. See the
+https://github.com/igniterealtime/Smack/wiki/Smack-4.4-Readme[Smack 4.4 
readme] for behavioral changes in the
+Smack library itself.
+
 === camel-weaviate - potential breaking change
 
 The Weaviate Java client has been upgraded from v5 (`io.weaviate:client`) to 
v6 (`io.weaviate:client6`).
diff --git a/parent/pom.xml b/parent/pom.xml
index 0512aa9d7966..8db8ed52b3e4 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -467,7 +467,7 @@
         <slack-api-model-version>1.49.0</slack-api-model-version>
         <slf4j-api-version>2.0.18</slf4j-api-version>
         <slf4j-version>2.0.17</slf4j-version>
-        <smack-version>4.3.5</smack-version>
+        <smack-version>4.4.8</smack-version>
         <smallrye-config-version>3.18.1</smallrye-config-version>
         <smallrye-health-version>4.3.0</smallrye-health-version>
         
<smallrye-fault-tolerance-version>6.11.2</smallrye-fault-tolerance-version>

Reply via email to