Java 11 support for #984 #987 (l) (#1190)

* Java 11 support: lazy-loading pattern

* Java 11 support: layers pattern

* Java 11 support: leader-election/lazy-loading patterns
This commit is contained in:
Zhang WH
2020-03-23 02:02:45 +08:00
committed by GitHub
parent 0ad67c8726
commit 67edeb806d
23 changed files with 238 additions and 243 deletions
@@ -62,7 +62,7 @@ public class RingInstance extends AbstractInstance {
@Override
protected void handleHeartbeatInvokeMessage() {
try {
boolean isLeaderAlive = messageManager.sendHeartbeatMessage(this.leaderId);
var isLeaderAlive = messageManager.sendHeartbeatMessage(this.leaderId);
if (isLeaderAlive) {
LOGGER.info("Instance " + localId + "- Leader is alive. Start next heartbeat in 5 second.");
Thread.sleep(HEARTBEAT_INTERVAL);
@@ -84,15 +84,14 @@ public class RingInstance extends AbstractInstance {
*/
@Override
protected void handleElectionMessage(Message message) {
String content = message.getContent();
var content = message.getContent();
LOGGER.info("Instance " + localId + " - Election Message: " + content);
List<Integer> candidateList =
Arrays.stream(content.trim().split(","))
.map(Integer::valueOf)
.sorted()
.collect(Collectors.toList());
var candidateList = Arrays.stream(content.trim().split(","))
.map(Integer::valueOf)
.sorted()
.collect(Collectors.toList());
if (candidateList.contains(localId)) {
int newLeaderId = candidateList.get(0);
var newLeaderId = candidateList.get(0);
LOGGER.info("Instance " + localId + " - New leader should be " + newLeaderId + ".");
messageManager.sendLeaderMessage(localId, newLeaderId);
} else {
@@ -107,7 +106,7 @@ public class RingInstance extends AbstractInstance {
*/
@Override
protected void handleLeaderMessage(Message message) {
int newLeaderId = Integer.valueOf(message.getContent());
var newLeaderId = Integer.valueOf(message.getContent());
if (this.leaderId != newLeaderId) {
LOGGER.info("Instance " + localId + " - Update leaderID");
this.leaderId = newLeaderId;