diff --git a/src/main/java/org/springframework/boot/autoconfigure/klock/KlockAutoConfiguration.java b/src/main/java/org/springframework/boot/autoconfigure/klock/KlockAutoConfiguration.java index d0a810fad44f74a792daf356d74d81df45987e35..edac6173585a044d8808cf0a34cc6653a1077df3 100644 --- a/src/main/java/org/springframework/boot/autoconfigure/klock/KlockAutoConfiguration.java +++ b/src/main/java/org/springframework/boot/autoconfigure/klock/KlockAutoConfiguration.java @@ -44,6 +44,12 @@ public class KlockAutoConfiguration { if(klockConfig.getClusterServer()!=null){ config.useClusterServers().setPassword(klockConfig.getPassword()) .addNodeAddress(klockConfig.getClusterServer().getNodeAddresses()); + }if (klockConfig.getSentinelServer()!=null){ + config.useSentinelServers() + .setPassword(klockConfig.getPassword()) + .setDatabase(klockConfig.getDatabase()) + .setMasterName(klockConfig.getSentinelServer().getMasterName()) + .addSentinelAddress(klockConfig.getSentinelServer().getNodeAddresses()); }else { config.useSingleServer().setAddress(klockConfig.getAddress()) .setDatabase(klockConfig.getDatabase()) diff --git a/src/main/java/org/springframework/boot/autoconfigure/klock/config/KlockConfig.java b/src/main/java/org/springframework/boot/autoconfigure/klock/config/KlockConfig.java index 00c171e7e4dadfa06bd8916365bdfb0e821acfb6..2c0c869e4a962c9f240ac75c31cd75524cba8670 100644 --- a/src/main/java/org/springframework/boot/autoconfigure/klock/config/KlockConfig.java +++ b/src/main/java/org/springframework/boot/autoconfigure/klock/config/KlockConfig.java @@ -14,6 +14,8 @@ public class KlockConfig { private String password; private int database=15; private ClusterServer clusterServer; + + private SentinelServer sentinelServer; private String codec = "org.redisson.codec.JsonJacksonCodec"; //lock private long waitTime = 60; @@ -75,6 +77,14 @@ public class KlockConfig { this.clusterServer = clusterServer; } + public SentinelServer getSentinelServer() { + return sentinelServer; + } + + public void setSentinelServer(SentinelServer sentinelServer) { + this.sentinelServer = sentinelServer; + } + public static class ClusterServer{ private String[] nodeAddresses; @@ -87,4 +97,28 @@ public class KlockConfig { this.nodeAddresses = nodeAddresses; } } + + + public static class SentinelServer{ + + private String[] nodeAddresses; + + private String masterName; + + public String[] getNodeAddresses() { + return nodeAddresses; + } + + public void setNodeAddresses(String[] nodeAddresses) { + this.nodeAddresses = nodeAddresses; + } + + public String getMasterName() { + return masterName; + } + + public void setMasterName(String masterName) { + this.masterName = masterName; + } + } }