X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-akka-raft%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fraft%2Fclient%2Fmessages%2FShutdown.java;h=22acc41e01e9dfee46042a008c813ff1f1cc561d;hp=4261baef2fd22f19c5374139f34f15ba063eb1b5;hb=6751227ff9443018d75e3a99da5693230d23d82b;hpb=8d04a0c4e33016ec502c5b45d70c6454fe0a31e6 diff --git a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/Shutdown.java b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/Shutdown.java index 4261baef2f..22acc41e01 100644 --- a/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/Shutdown.java +++ b/opendaylight/md-sal/sal-akka-raft/src/main/java/org/opendaylight/controller/cluster/raft/client/messages/Shutdown.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.raft.client.messages; import java.io.Serializable; +import org.opendaylight.controller.cluster.raft.base.messages.EmptyExternalizableProxy; /** * Message sent to a raft actor to shutdown gracefully. If it's the leader it will transfer leadership to a @@ -24,7 +25,18 @@ public final class Shutdown implements Serializable { // Hidden on purpose } - private Object readResolve() { - return INSTANCE; + private Object writeReplace() { + return new Proxy(); + } + + private static class Proxy extends EmptyExternalizableProxy { + private static final long serialVersionUID = 1L; + + // checkstyle flags the public modifier as redundant which really doesn't make sense since it clearly isn't + // redundant. It is explicitly needed for Java serialization to be able to create instances via reflection. + @SuppressWarnings("checkstyle:RedundantModifier") + public Proxy() { + super(INSTANCE); + } } }