From: Robert Varga Date: Sat, 13 Feb 2016 23:49:14 +0000 (+0100) Subject: Turn LeaderTransitioning into a singleton X-Git-Tag: release/boron~369 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=c2ecbded084e74232719f5d906197f15cc260965 Turn LeaderTransitioning into a singleton The message does not carry any state and can be made a singleton. Change-Id: Iadcbe0cb8de949dbc57240772bcfd9ddf23d42ad Signed-off-by: Robert Varga --- diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java index b83bfd3709..d5dfcf3943 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/RaftActorLeadershipTransferCohort.java @@ -76,11 +76,10 @@ public class RaftActorLeadershipTransferCohort { currentBehavior.getLeaderPayloadVersion()), raftActor.self()); } - LeaderTransitioning leaderTransitioning = new LeaderTransitioning(); for(String peerId: context.getPeerIds()) { ActorSelection followerActor = context.getPeerActorSelection(peerId); if(followerActor != null) { - followerActor.tell(leaderTransitioning, context.getActor()); + followerActor.tell(LeaderTransitioning.INSTANCE, context.getActor()); } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/LeaderTransitioning.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/LeaderTransitioning.java index 4974f8f4b2..cfa9166de4 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/LeaderTransitioning.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/base/messages/LeaderTransitioning.java @@ -14,6 +14,16 @@ import java.io.Serializable; * * @author Thomas Pantelis */ -public class LeaderTransitioning implements Serializable { +public final class LeaderTransitioning implements Serializable { private static final long serialVersionUID = 1L; + public static final LeaderTransitioning INSTANCE = new LeaderTransitioning(); + + private LeaderTransitioning() { + // Hidden on purpose + } + + @SuppressWarnings({ "static-method", "unused" }) + private LeaderTransitioning readResolve() { + return INSTANCE; + } } diff --git a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java index f4846d2589..35cbc0dd38 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java +++ b/opendaylight/md-sal/sal-akka-raft/src/test/java/org/opendaylight/controller/cluster/raft/RaftActorTest.java @@ -1360,7 +1360,7 @@ public class RaftActorTest extends AbstractActorTest { MessageCollectorActor.clearMessages(notifierActor); - raftActorRef.tell(new LeaderTransitioning(), ActorRef.noSender()); + raftActorRef.tell(LeaderTransitioning.INSTANCE, ActorRef.noSender()); leaderStateChange = MessageCollectorActor.expectFirstMatching(notifierActor, LeaderStateChanged.class); assertEquals("getMemberId", persistenceId, leaderStateChange.getMemberId());