You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/07/13 05:55:39 UTC

[camel] branch main updated: Upgrade jgroups and jgrups-raft

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 af104a174ac Upgrade jgroups and jgrups-raft
af104a174ac is described below

commit af104a174acf4257adec703a244ae8c550348821
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jul 13 07:51:32 2023 +0200

    Upgrade jgroups and jgrups-raft
---
 .../jgroups/raft/JGroupsRaftComponentConfigurer.java    |  4 ++--
 .../camel/component/jgroups/raft/jgroups-raft.json      | 15 +++++++--------
 .../component/jgroups/raft/CamelRoleChangeListener.java |  6 +-----
 .../component/jgroups/raft/JGroupsRaftComponent.java    |  2 +-
 .../component/jgroups/raft/JGroupsRaftConstants.java    |  2 --
 .../component/jgroups/raft/JGroupsRaftEndpoint.java     |  4 +---
 .../component/jgroups/raft/JGroupsRaftEventType.java    |  1 -
 .../jgroups/raft/cluster/ClusterRoleChangeListener.java |  8 +-------
 .../component/jgroups/raft/utils/NopStateMachine.java   |  6 +++---
 .../component/jgroups/raft/JGroupsRaftAbstractTest.java |  4 +---
 .../component/jgroups/raft/JGroupsRaftEndpointTest.java |  7 +++----
 .../camel-jgroups-raft/src/test/resources/raft.xml      |  6 +++---
 .../camel-jgroups-raft/src/test/resources/raftABC.xml   |  6 +++---
 .../camel-jgroups-raft/src/test/resources/raftB.xml     |  6 +++---
 .../camel-jgroups-raft/src/test/resources/raftC.xml     |  6 +++---
 .../camel/component/jgroups/CamelJGroupsReceiver.java   |  6 +++---
 .../apache/camel/component/jgroups/JGroupsProducer.java |  3 ++-
 components/camel-jgroups/src/main/resources/locking.xml |  5 +----
 .../camel/component/jgroups/JGroupsComponentTest.java   | 17 ++---------------
 .../JGroupsComponentWithChannelPropertiesTest.java      | 17 ++---------------
 .../camel/component/jgroups/JGroupsConsumerTest.java    |  5 +++--
 .../camel/component/jgroups/JGroupsProducerTest.java    |  4 ++--
 parent/pom.xml                                          |  4 ++--
 23 files changed, 49 insertions(+), 95 deletions(-)

diff --git a/components/camel-jgroups-raft/src/generated/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponentConfigurer.java b/components/camel-jgroups-raft/src/generated/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponentConfigurer.java
index a7a6a54b3ac..a6301963585 100644
--- a/components/camel-jgroups-raft/src/generated/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponentConfigurer.java
+++ b/components/camel-jgroups-raft/src/generated/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponentConfigurer.java
@@ -34,7 +34,7 @@ public class JGroupsRaftComponentConfigurer extends PropertyConfigurerSupport im
         case "raftid":
         case "raftId": target.setRaftId(property(camelContext, java.lang.String.class, value)); return true;
         case "statemachine":
-        case "stateMachine": target.setStateMachine(property(camelContext, org.jgroups.protocols.raft.StateMachine.class, value)); return true;
+        case "stateMachine": target.setStateMachine(property(camelContext, org.jgroups.raft.StateMachine.class, value)); return true;
         default: return false;
         }
     }
@@ -55,7 +55,7 @@ public class JGroupsRaftComponentConfigurer extends PropertyConfigurerSupport im
         case "raftid":
         case "raftId": return java.lang.String.class;
         case "statemachine":
-        case "stateMachine": return org.jgroups.protocols.raft.StateMachine.class;
+        case "stateMachine": return org.jgroups.raft.StateMachine.class;
         default: return null;
         }
     }
diff --git a/components/camel-jgroups-raft/src/generated/resources/org/apache/camel/component/jgroups/raft/jgroups-raft.json b/components/camel-jgroups-raft/src/generated/resources/org/apache/camel/component/jgroups/raft/jgroups-raft.json
index 91c090a937c..a57932466c8 100644
--- a/components/camel-jgroups-raft/src/generated/resources/org/apache/camel/component/jgroups/raft/jgroups-raft.json
+++ b/components/camel-jgroups-raft/src/generated/resources/org/apache/camel/component/jgroups/raft/jgroups-raft.json
@@ -25,7 +25,7 @@
     "channelProperties": { "index": 0, "kind": "property", "displayName": "Channel Properties", "group": "common", "label": "", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "raft.xml", "description": "Specifies configuration properties of the RaftHandle JChannel used by the endpoint (ignored if raftHandle ref is provided)." },
     "raftHandle": { "index": 1, "kind": "property", "displayName": "Raft Handle", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.jgroups.raft.RaftHandle", "deprecated": false, "autowired": false, "secret": false, "description": "RaftHandle to use." },
     "raftId": { "index": 2, "kind": "property", "displayName": "Raft Id", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Unique raftId to use." },
-    "stateMachine": { "index": 3, "kind": "property", "displayName": "State Machine", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.jgroups.protocols.raft.StateMachine", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NopStateMachine", "description": "StateMachine to use." },
+    "stateMachine": { "index": 3, "kind": "property", "displayName": "State Machine", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.jgroups.raft.StateMachine", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "NopStateMachine", "description": "StateMachine to use." },
     "bridgeErrorHandler": { "index": 4, "kind": "property", "displayName": "Bridge Error Handler", "group": "consumer", "label": "consumer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to pickup incoming messages, or the likes, will now be proce [...]
     "lazyStartProducer": { "index": 5, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...]
     "autowiredEnabled": { "index": 6, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...]
@@ -37,13 +37,12 @@
     "JGROUPSRAFT_IS_LEADER": { "index": 3, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "boolean", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Whether the node is the Raft Leader or not.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_IS_LEADER" },
     "JGROUPSRAFT_LAST_APPLIED": { "index": 4, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The index of the last log entry that was appended to the log.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_LAST_APPLIED" },
     "JGROUPSRAFT_LEADER_ADDRESS": { "index": 5, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "org.jgroups.Address", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Address ot Raft Leader or not.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_LEADER_ADDRESS" },
-    "JGROUPSRAFT_LOG_SIZE_BYTE": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "int", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Raft log size in bytes.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_LOG_SIZE_BYTE" },
-    "JGROUPSRAFT_RAFT_ID": { "index": 7, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Raft id of the node.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_RAFT_ID" },
-    "JGROUPSRAFT_EVENT_TYPE": { "index": 8, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "org.apache.camel.component.jgroups.raft.JGroupsRaftEventType", "enum": [ "LEADER", "FOLLOWER", "CANDIDATE", "APPLY", "READ_CONTENT_FROM", "WRITE_CONTENT_TO" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The event type", "constantName": "org.apache.camel.component.jgroups.raft.JGroup [...]
-    "JGROUPSRAFT_SET_OFFSET": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Offset to use in the byte buffer to be set().", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_SET_OFFSET" },
-    "JGROUPSRAFT_SET_LENGTH": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Length to use in the byte buffer to be set().", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_SET_LENGTH" },
-    "JGROUPSRAFT_SET_TIMEOUT": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timeout to be used in set() operation.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_SET_TIMEOUT" },
-    "JGROUPSRAFT_SET_TIMEUNIT": { "index": 12, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timeunit to be used in set() operation.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsR [...]
+    "JGROUPSRAFT_RAFT_ID": { "index": 6, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Raft id of the node.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_RAFT_ID" },
+    "JGROUPSRAFT_EVENT_TYPE": { "index": 7, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "org.apache.camel.component.jgroups.raft.JGroupsRaftEventType", "enum": [ "LEADER", "FOLLOWER", "APPLY", "READ_CONTENT_FROM", "WRITE_CONTENT_TO" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The event type", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstant [...]
+    "JGROUPSRAFT_SET_OFFSET": { "index": 8, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Offset to use in the byte buffer to be set().", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_SET_OFFSET" },
+    "JGROUPSRAFT_SET_LENGTH": { "index": 9, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Length to use in the byte buffer to be set().", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_SET_LENGTH" },
+    "JGROUPSRAFT_SET_TIMEOUT": { "index": 10, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "Long", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timeout to be used in set() operation.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsRaftConstants#HEADER_JGROUPSRAFT_SET_TIMEOUT" },
+    "JGROUPSRAFT_SET_TIMEUNIT": { "index": 11, "kind": "header", "displayName": "", "group": "producer", "label": "producer", "required": false, "javaType": "java.util.concurrent.TimeUnit", "enum": [ "NANOSECONDS", "MICROSECONDS", "MILLISECONDS", "SECONDS", "MINUTES", "HOURS", "DAYS" ], "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "Timeunit to be used in set() operation.", "constantName": "org.apache.camel.component.jgroups.raft.JGroupsR [...]
   },
   "properties": {
     "clusterName": { "index": 0, "kind": "path", "displayName": "Cluster Name", "group": "common", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the JGroupsraft cluster the component should connect to." },
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/CamelRoleChangeListener.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/CamelRoleChangeListener.java
index baf3325be82..a5d143d88d1 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/CamelRoleChangeListener.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/CamelRoleChangeListener.java
@@ -27,7 +27,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class CamelRoleChangeListener implements RAFT.RoleChange {
-    private static final transient Logger LOG = LoggerFactory.getLogger(CamelRoleChangeListener.class);
+    private static final Logger LOG = LoggerFactory.getLogger(CamelRoleChangeListener.class);
 
     private final JGroupsRaftConsumer consumer;
     private final JGroupsRaftEndpoint endpoint;
@@ -52,10 +52,6 @@ public class CamelRoleChangeListener implements RAFT.RoleChange {
                 exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_EVENT_TYPE, JGroupsRaftEventType.FOLLOWER);
                 processExchange(role, exchange);
                 break;
-            case Candidate:
-                exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_EVENT_TYPE, JGroupsRaftEventType.CANDIDATE);
-                processExchange(role, exchange);
-                break;
             default:
                 throw new JGroupsRaftException("Role [" + role + "] unknown.");
         }
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
index 4f1c985f6f4..b83cdb53cf5 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftComponent.java
@@ -24,8 +24,8 @@ import org.apache.camel.spi.Metadata;
 import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.annotations.Component;
 import org.apache.camel.support.DefaultComponent;
-import org.jgroups.protocols.raft.StateMachine;
 import org.jgroups.raft.RaftHandle;
+import org.jgroups.raft.StateMachine;
 
 /**
  * Component providing support for JGroups-raft leader election and shared state machine implementation
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftConstants.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftConstants.java
index 2e85c912bd3..12270c352e7 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftConstants.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftConstants.java
@@ -33,8 +33,6 @@ public final class JGroupsRaftConstants {
     public static final String HEADER_JGROUPSRAFT_LAST_APPLIED = "JGROUPSRAFT_LAST_APPLIED";
     @Metadata(label = "consumer", description = "The Address ot Raft Leader or not.", javaType = "org.jgroups.Address")
     public static final String HEADER_JGROUPSRAFT_LEADER_ADDRESS = "JGROUPSRAFT_LEADER_ADDRESS";
-    @Metadata(label = "consumer", description = "The Raft log size in bytes.", javaType = "int")
-    public static final String HEADER_JGROUPSRAFT_LOG_SIZE_BYTE = "JGROUPSRAFT_LOG_SIZE_BYTE";
     @Metadata(label = "consumer", description = "The Raft id of the node.", javaType = "String")
     public static final String HEADER_JGROUPSRAFT_RAFT_ID = "JGROUPSRAFT_RAFT_ID";
     @Metadata(label = "consumer", description = "The event type",
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
index d7c270a1cfc..22ec8b5ba4f 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpoint.java
@@ -30,8 +30,8 @@ import org.apache.camel.spi.UriParam;
 import org.apache.camel.spi.UriPath;
 import org.apache.camel.support.DefaultEndpoint;
 import org.jgroups.JChannel;
-import org.jgroups.protocols.raft.StateMachine;
 import org.jgroups.raft.RaftHandle;
+import org.jgroups.raft.StateMachine;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -85,9 +85,7 @@ public class JGroupsRaftEndpoint extends DefaultEndpoint {
         exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_CURRENT_TERM, resolvedRaftHandle.currentTerm());
         exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_IS_LEADER, resolvedRaftHandle.isLeader());
         exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LAST_APPLIED, resolvedRaftHandle.lastApplied());
-        exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LEADER_ADDRESS, resolvedRaftHandle.leader());
         exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LOG_SIZE, resolvedRaftHandle.logSize());
-        exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LOG_SIZE_BYTE, resolvedRaftHandle.logSizeInBytes());
         exchange.getIn().setHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_RAFT_ID, resolvedRaftHandle.raftId());
     }
 
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEventType.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEventType.java
index b966fd5609a..075706b1d8a 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEventType.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEventType.java
@@ -19,7 +19,6 @@ package org.apache.camel.component.jgroups.raft;
 public enum JGroupsRaftEventType {
     LEADER,
     FOLLOWER,
-    CANDIDATE,
     APPLY,
     READ_CONTENT_FROM,
     WRITE_CONTENT_TO
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/cluster/ClusterRoleChangeListener.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/cluster/ClusterRoleChangeListener.java
index 2b610c76a68..a4362234915 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/cluster/ClusterRoleChangeListener.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/cluster/ClusterRoleChangeListener.java
@@ -25,7 +25,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class ClusterRoleChangeListener implements RAFT.RoleChange {
-    private static final transient Logger LOG = LoggerFactory.getLogger(ClusterRoleChangeListener.class);
+    private static final Logger LOG = LoggerFactory.getLogger(ClusterRoleChangeListener.class);
 
     private final JGroupsRaftClusterView jgroupsRaftClusterView;
 
@@ -52,12 +52,6 @@ public class ClusterRoleChangeListener implements RAFT.RoleChange {
                     jgroupsRaftClusterView.fireLeadershipChangedEvent(Optional.empty());
                 }
                 break;
-            case Candidate:
-                if (jgroupsRaftClusterView.isMaster()) {
-                    jgroupsRaftClusterView.setMaster(false);
-                    jgroupsRaftClusterView.fireLeadershipChangedEvent(Optional.empty());
-                }
-                break;
             default:
                 LOG.error("Role {} unknown.", role);
                 throw new UnsupportedOperationException("Role " + role + " unknown.");
diff --git a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/utils/NopStateMachine.java b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/utils/NopStateMachine.java
index 264f6f582de..602c693300e 100644
--- a/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/utils/NopStateMachine.java
+++ b/components/camel-jgroups-raft/src/main/java/org/apache/camel/component/jgroups/raft/utils/NopStateMachine.java
@@ -19,7 +19,7 @@ package org.apache.camel.component.jgroups.raft.utils;
 import java.io.DataInput;
 import java.io.DataOutput;
 
-import org.jgroups.protocols.raft.StateMachine;
+import org.jgroups.raft.StateMachine;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -30,8 +30,8 @@ public class NopStateMachine implements StateMachine {
     private static final transient Logger LOG = LoggerFactory.getLogger(NopStateMachine.class);
 
     @Override
-    public byte[] apply(byte[] bytes, int offset, int length) throws Exception {
-        LOG.trace("Called StateMachine.apply(byte[] {}, int {}, int {}) on {}", bytes, offset, length, this);
+    public byte[] apply(byte[] data, int offset, int length, boolean serialize_response) throws Exception {
+        LOG.trace("Called StateMachine.apply(byte[] {}, int {}, int {}) on {}", data, offset, length, this);
         return new byte[0];
     }
 
diff --git a/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftAbstractTest.java b/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftAbstractTest.java
index 1f6f3013a86..c50ffe1c493 100644
--- a/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftAbstractTest.java
+++ b/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftAbstractTest.java
@@ -21,7 +21,6 @@ import java.util.concurrent.TimeUnit;
 import org.apache.camel.Exchange;
 import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.test.junit5.CamelTestSupport;
-import org.jgroups.Address;
 import org.jgroups.raft.RaftHandle;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -32,9 +31,8 @@ public abstract class JGroupsRaftAbstractTest extends CamelTestSupport {
         assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_CURRENT_TERM, int.class));
         assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_IS_LEADER, boolean.class));
         assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LAST_APPLIED, int.class));
-        assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LEADER_ADDRESS, Address.class));
+        //assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LEADER_ADDRESS, Address.class));
         assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LOG_SIZE, int.class));
-        assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_LOG_SIZE_BYTE, int.class));
         assertNotNull(exchange.getIn().getHeader(JGroupsRaftConstants.HEADER_JGROUPSRAFT_RAFT_ID, String.class));
     }
 
diff --git a/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpointTest.java b/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpointTest.java
index 07fb2868741..4e63e550805 100644
--- a/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpointTest.java
+++ b/components/camel-jgroups-raft/src/test/java/org/apache/camel/component/jgroups/raft/JGroupsRaftEndpointTest.java
@@ -24,8 +24,8 @@ import org.apache.camel.component.jgroups.raft.utils.NopStateMachine;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.jgroups.JChannel;
-import org.jgroups.protocols.raft.StateMachine;
 import org.jgroups.raft.RaftHandle;
+import org.jgroups.raft.StateMachine;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -42,19 +42,18 @@ public class JGroupsRaftEndpointTest extends CamelTestSupport {
             = "jgroups-raft:" + CLUSTER_NAME2 + "?stateMachine=#sm&raftId=C&channelProperties=raftC.xml";
 
     StateMachine sm = new StateMachine() {
+
         @Override
-        public byte[] apply(byte[] bytes, int i, int i1) {
+        public byte[] apply(byte[] data, int offset, int length, boolean serialize_response) throws Exception {
             return new byte[0];
         }
 
         @Override
         public void readContentFrom(DataInput dataInput) {
-
         }
 
         @Override
         public void writeContentTo(DataOutput dataOutput) {
-
         }
     };
 
diff --git a/components/camel-jgroups-raft/src/test/resources/raft.xml b/components/camel-jgroups-raft/src/test/resources/raft.xml
index fd8b65fa1b8..f97c3be18cf 100644
--- a/components/camel-jgroups-raft/src/test/resources/raft.xml
+++ b/components/camel-jgroups-raft/src/test/resources/raft.xml
@@ -21,8 +21,8 @@
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
     <SHARED_LOOPBACK
-            max_bundle_size="64K"
-            enable_diagnostics="true"
+            bundler.max_size="64K"
+            diag.enabled="true"
             thread_naming_pattern="cl"
 
             thread_pool.enabled="true"
@@ -43,7 +43,7 @@
     <UFC max_credits="2M" min_threshold="0.4"/>
     <MFC max_credits="2M" min_threshold="0.4"/>
     <FRAG2 frag_size="60K" />
-    <raft.ELECTION election_min_interval="100" election_max_interval="500"/>
+    <raft.ELECTION />
     <raft.RAFT members="A" raft_id="${raft_id:undefined}" log_class="org.jgroups.protocols.raft.InMemoryLog"/>
     <raft.REDIRECT/>
 </config>
\ No newline at end of file
diff --git a/components/camel-jgroups-raft/src/test/resources/raftABC.xml b/components/camel-jgroups-raft/src/test/resources/raftABC.xml
index 53d5a9c2daa..aede037dc22 100644
--- a/components/camel-jgroups-raft/src/test/resources/raftABC.xml
+++ b/components/camel-jgroups-raft/src/test/resources/raftABC.xml
@@ -21,8 +21,8 @@
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
     <SHARED_LOOPBACK
-            max_bundle_size="64K"
-            enable_diagnostics="true"
+            bundler.max_size="64K"
+            diag.enabled="true"
             thread_naming_pattern="cl"
 
             thread_pool.enabled="true"
@@ -43,7 +43,7 @@
     <UFC max_credits="2M" min_threshold="0.4"/>
     <MFC max_credits="2M" min_threshold="0.4"/>
     <FRAG2 frag_size="60K" />
-    <raft.ELECTION election_min_interval="100" election_max_interval="500"/>
+    <raft.ELECTION />
     <raft.RAFT members="A,B,C" raft_id="${raft_id:undefined}" log_class="org.jgroups.protocols.raft.InMemoryLog"/>
     <raft.REDIRECT/>
 </config>
\ No newline at end of file
diff --git a/components/camel-jgroups-raft/src/test/resources/raftB.xml b/components/camel-jgroups-raft/src/test/resources/raftB.xml
index 3c3e84e4386..9b6ad7e0b7e 100644
--- a/components/camel-jgroups-raft/src/test/resources/raftB.xml
+++ b/components/camel-jgroups-raft/src/test/resources/raftB.xml
@@ -21,8 +21,8 @@
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
     <SHARED_LOOPBACK
-            max_bundle_size="64K"
-            enable_diagnostics="true"
+            bundler.max_size="64K"
+            diag.enabled="true"
             thread_naming_pattern="cl"
 
             thread_pool.enabled="true"
@@ -43,7 +43,7 @@
     <UFC max_credits="2M" min_threshold="0.4"/>
     <MFC max_credits="2M" min_threshold="0.4"/>
     <FRAG2 frag_size="60K" />
-    <raft.ELECTION election_min_interval="100" election_max_interval="500"/>
+    <raft.ELECTION />
     <raft.RAFT members="B" raft_id="${raft_id:undefined}" log_class="org.jgroups.protocols.raft.InMemoryLog"/>
     <raft.REDIRECT/>
 </config>
\ No newline at end of file
diff --git a/components/camel-jgroups-raft/src/test/resources/raftC.xml b/components/camel-jgroups-raft/src/test/resources/raftC.xml
index a0ff3a9c27c..7a0f53b34e4 100644
--- a/components/camel-jgroups-raft/src/test/resources/raftC.xml
+++ b/components/camel-jgroups-raft/src/test/resources/raftC.xml
@@ -21,8 +21,8 @@
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd">
     <SHARED_LOOPBACK
-            max_bundle_size="64K"
-            enable_diagnostics="true"
+            bundler.max_size="64K"
+            diag.enabled="true"
             thread_naming_pattern="cl"
 
             thread_pool.enabled="true"
@@ -43,7 +43,7 @@
     <UFC max_credits="2M" min_threshold="0.4"/>
     <MFC max_credits="2M" min_threshold="0.4"/>
     <FRAG2 frag_size="60K" />
-    <raft.ELECTION election_min_interval="100" election_max_interval="500"/>
+    <raft.ELECTION />
     <raft.RAFT members="C" raft_id="${raft_id:undefined}" log_class="org.jgroups.protocols.raft.InMemoryLog"/>
     <raft.REDIRECT/>
 </config>
\ No newline at end of file
diff --git a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/CamelJGroupsReceiver.java b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/CamelJGroupsReceiver.java
index ad644e34120..01295236797 100644
--- a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/CamelJGroupsReceiver.java
+++ b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/CamelJGroupsReceiver.java
@@ -22,7 +22,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
 import org.apache.camel.support.AsyncProcessorConverterHelper;
 import org.jgroups.Message;
-import org.jgroups.ReceiverAdapter;
+import org.jgroups.Receiver;
 import org.jgroups.View;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,9 +33,9 @@ import static org.apache.camel.component.jgroups.JGroupsConstants.HEADER_JGROUPS
  * Implementation of JGroups message receiver ({@code org.jgroups.Receiver}) wrapping incoming messages into Camel
  * exchanges. Used by {@link JGroupsConsumer}.
  */
-public class CamelJGroupsReceiver extends ReceiverAdapter {
+public class CamelJGroupsReceiver implements Receiver {
 
-    private static final transient Logger LOG = LoggerFactory.getLogger(CamelJGroupsReceiver.class);
+    private static final Logger LOG = LoggerFactory.getLogger(CamelJGroupsReceiver.class);
 
     private final JGroupsConsumer consumer;
     private final JGroupsEndpoint endpoint;
diff --git a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsProducer.java b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsProducer.java
index b927af23661..1d041f6a10f 100644
--- a/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsProducer.java
+++ b/components/camel-jgroups/src/main/java/org/apache/camel/component/jgroups/JGroupsProducer.java
@@ -20,6 +20,7 @@ import org.apache.camel.Exchange;
 import org.apache.camel.support.DefaultProducer;
 import org.jgroups.Address;
 import org.jgroups.Message;
+import org.jgroups.ObjectMessage;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -75,7 +76,7 @@ public class JGroupsProducer extends DefaultProducer {
             if (sourceAddress != null) {
                 LOG.debug("Posting from custom source address: {}", sourceAddress);
             }
-            Message message = new Message(destinationAddress, body);
+            Message message = new ObjectMessage(destinationAddress, body);
             message.setSrc(sourceAddress);
             endpoint.getResolvedChannel().send(message);
         } else {
diff --git a/components/camel-jgroups/src/main/resources/locking.xml b/components/camel-jgroups/src/main/resources/locking.xml
index 67112911d84..84a8af57811 100644
--- a/components/camel-jgroups/src/main/resources/locking.xml
+++ b/components/camel-jgroups/src/main/resources/locking.xml
@@ -28,8 +28,6 @@
             ucast_send_buf_size="5M"
             mcast_recv_buf_size="5M"
             mcast_send_buf_size="5M"
-            max_bundle_size="64K"
-            enable_diagnostics="true"
             thread_naming_pattern="cl"
 
             thread_pool.min_threads="0"
@@ -56,8 +54,7 @@
               conn_expiry_timeout="0"/>
     <pbcast.STABLE desired_avg_gossip="50000"
                    max_bytes="4M"/>
-    <pbcast.GMS print_local_addr="true" join_timeout="2000"
-                view_bundling="true"/>
+    <pbcast.GMS print_local_addr="true" join_timeout="2000"/>
     <UFC max_credits="2M"
          min_threshold="0.4"/>
     <MFC max_credits="2M"
diff --git a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentTest.java b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentTest.java
index e19a9fcaedd..7a2928193fe 100644
--- a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentTest.java
+++ b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentTest.java
@@ -21,11 +21,11 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.jgroups.JChannel;
 import org.jgroups.Message;
+import org.jgroups.ObjectMessage;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class JGroupsComponentTest extends CamelTestSupport {
 
@@ -35,10 +35,6 @@ public class JGroupsComponentTest extends CamelTestSupport {
 
     static final String MESSAGE = "MESSAGE";
 
-    static final String SAMPLE_CHANNEL_PROPERTY = "enable_diagnostics=true";
-
-    static final String SAMPLE_CHANNEL_PROPERTIES = String.format("UDP(%s)", SAMPLE_CHANNEL_PROPERTY);
-
     static final String CONFIGURED_ENDPOINT_URI = String.format("jgroups:%s", CLUSTER_NAME);
 
     // Fixtures
@@ -90,7 +86,7 @@ public class JGroupsComponentTest extends CamelTestSupport {
         mockEndpoint.expectedBodiesReceived(MESSAGE);
 
         // When
-        Message message = new Message(null, MESSAGE);
+        Message message = new ObjectMessage(null, MESSAGE);
         message.setSrc(null);
         clientChannel.send(message);
 
@@ -98,15 +94,6 @@ public class JGroupsComponentTest extends CamelTestSupport {
         mockEndpoint.assertIsSatisfied();
     }
 
-    @Test
-    public void shouldConfigureChannelWithProperties() {
-        // When
-        JGroupsEndpoint endpoint = getMandatoryEndpoint(CONFIGURED_ENDPOINT_URI, JGroupsEndpoint.class);
-
-        // Then
-        assertTrue(endpoint.getResolvedChannel().getProperties().contains(SAMPLE_CHANNEL_PROPERTY));
-    }
-
     @Test
     public void shouldCreateChannel() {
         // When
diff --git a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentWithChannelPropertiesTest.java b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentWithChannelPropertiesTest.java
index 4dfcf6522f9..d235426e634 100644
--- a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentWithChannelPropertiesTest.java
+++ b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsComponentWithChannelPropertiesTest.java
@@ -21,11 +21,11 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.jgroups.JChannel;
 import org.jgroups.Message;
+import org.jgroups.ObjectMessage;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
 
 public class JGroupsComponentWithChannelPropertiesTest extends CamelTestSupport {
 
@@ -35,10 +35,6 @@ public class JGroupsComponentWithChannelPropertiesTest extends CamelTestSupport
 
     static final String MESSAGE = "MESSAGE";
 
-    static final String SAMPLE_CHANNEL_PROPERTY = "enable_diagnostics=true";
-
-    static final String SAMPLE_CHANNEL_PROPERTIES = String.format("UDP(%s)", SAMPLE_CHANNEL_PROPERTY);
-
     static final String CONFIGURED_ENDPOINT_URI = String.format("jgroups:%s?channelProperties=%s", CLUSTER_NAME, "udp.xml");
 
     // Fixtures
@@ -90,7 +86,7 @@ public class JGroupsComponentWithChannelPropertiesTest extends CamelTestSupport
         mockEndpoint.expectedBodiesReceived(MESSAGE);
 
         // When
-        Message message = new Message(null, MESSAGE);
+        Message message = new ObjectMessage(null, MESSAGE);
         message.setSrc(null);
         clientChannel.send(message);
 
@@ -98,15 +94,6 @@ public class JGroupsComponentWithChannelPropertiesTest extends CamelTestSupport
         mockEndpoint.assertIsSatisfied();
     }
 
-    @Test
-    public void shouldConfigureChannelWithProperties() {
-        // When
-        JGroupsEndpoint endpoint = getMandatoryEndpoint(CONFIGURED_ENDPOINT_URI, JGroupsEndpoint.class);
-
-        // Then
-        assertTrue(endpoint.getResolvedChannel().getProperties().contains(SAMPLE_CHANNEL_PROPERTY));
-    }
-
     @Test
     public void shouldCreateChannel() {
         // When
diff --git a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsConsumerTest.java b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsConsumerTest.java
index 9e704565eab..8b481b16e07 100644
--- a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsConsumerTest.java
+++ b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsConsumerTest.java
@@ -22,6 +22,7 @@ import org.apache.camel.component.mock.MockEndpoint;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.jgroups.JChannel;
 import org.jgroups.Message;
+import org.jgroups.ObjectMessage;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 
@@ -77,7 +78,7 @@ public class JGroupsConsumerTest extends CamelTestSupport {
         mockEndpoint.expectedBodiesReceived(message);
 
         // When
-        Message msg = new Message(null, message);
+        Message msg = new ObjectMessage(null, message);
         msg.setSrc(null);
         channel.send(msg);
 
@@ -92,7 +93,7 @@ public class JGroupsConsumerTest extends CamelTestSupport {
         mockEndpoint.message(0).header(HEADER_JGROUPS_ORIGINAL_MESSAGE).isInstanceOf(Message.class);
 
         // When
-        Message msg = new Message(null, message);
+        Message msg = new ObjectMessage(null, message);
         msg.setSrc(null);
         channel.send(msg);
 
diff --git a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsProducerTest.java b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsProducerTest.java
index a0f2490cfbc..e3c9d0efdf0 100644
--- a/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsProducerTest.java
+++ b/components/camel-jgroups/src/test/java/org/apache/camel/component/jgroups/JGroupsProducerTest.java
@@ -22,7 +22,7 @@ import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.test.junit5.CamelTestSupport;
 import org.jgroups.JChannel;
 import org.jgroups.Message;
-import org.jgroups.ReceiverAdapter;
+import org.jgroups.Receiver;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Test;
 
@@ -59,7 +59,7 @@ public class JGroupsProducerTest extends CamelTestSupport {
     protected void doPreSetup() throws Exception {
         super.doPreSetup();
         channel = new JChannel();
-        channel.setReceiver(new ReceiverAdapter() {
+        channel.setReceiver(new Receiver() {
             @Override
             public void receive(Message msg) {
                 messageReceived = msg.getObject();
diff --git a/parent/pom.xml b/parent/pom.xml
index 56ab33968f6..d4e7278a4c5 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -275,8 +275,8 @@
         <jetty-runner-groupId>org.eclipse.jetty</jetty-runner-groupId>
         <jettison-version>1.5.4</jettison-version>
         <jgit-version>6.6.0.202305301015-r</jgit-version>
-        <jgroups-version>4.2.17.Final</jgroups-version>
-        <jgroups-raft-version>0.5.3.Final</jgroups-raft-version>
+        <jgroups-version>5.2.16.Final</jgroups-version>
+        <jgroups-raft-version>1.0.11.Final</jgroups-raft-version>
         <jgroups-raft-leveldbjni-version>1.8</jgroups-raft-leveldbjni-version>
         <jgroups-raft-mapdb-version>1.0.8</jgroups-raft-mapdb-version>
         <jira-rest-client-api-version>5.2.5</jira-rest-client-api-version>