diff --git a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/constants/EtcdRegistryCenterBeanDefinitionParserTag.java b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/constants/EtcdRegistryCenterBeanDefinitionParserTag.java index 38d599bd88f9ed30da20156c9ca7f7ec32855adf..955ae10db5bfa3e2a1b6326409f0e7c23941770d 100644 --- a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/constants/EtcdRegistryCenterBeanDefinitionParserTag.java +++ b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/constants/EtcdRegistryCenterBeanDefinitionParserTag.java @@ -34,6 +34,8 @@ public final class EtcdRegistryCenterBeanDefinitionParserTag { public static final String TIME_TO_LIVE_SECONDS_TAG = "time-to-live-seconds"; + public static final String KEEP_ALIVE_MILLISECONDS_TAG = "keep-alive-milliseconds"; + public static final String TIMEOUT_MILLISECONDS_TAG = "timeout-milliseconds"; public static final String RETRY_INTERVAL_MILLISECONDS_TAG = "retry-interval-milliseconds"; diff --git a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/parser/EtcdBeanDefinitionParser.java b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/parser/EtcdBeanDefinitionParser.java index dada3075b83a10d67c6a0fb30635e1c480ce20f5..edcd8bee0c3d1bdf3064cc8735e162ce4c0c3af8 100644 --- a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/parser/EtcdBeanDefinitionParser.java +++ b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/namespace/parser/EtcdBeanDefinitionParser.java @@ -38,6 +38,7 @@ public final class EtcdBeanDefinitionParser extends AbstractBeanDefinitionParser BeanDefinitionBuilder result = BeanDefinitionBuilder.rootBeanDefinition(EtcdConfiguration.class); addPropertyValueIfNotEmpty(EtcdRegistryCenterBeanDefinitionParserTag.SERVER_LISTS_TAG, "serverLists", element, result); addPropertyValueIfNotEmpty(EtcdRegistryCenterBeanDefinitionParserTag.TIME_TO_LIVE_SECONDS_TAG, "timeToLiveSeconds", element, result); + addPropertyValueIfNotEmpty(EtcdRegistryCenterBeanDefinitionParserTag.KEEP_ALIVE_MILLISECONDS_TAG, "keepAliveMilliseconds", element, result); addPropertyValueIfNotEmpty(EtcdRegistryCenterBeanDefinitionParserTag.TIMEOUT_MILLISECONDS_TAG, "timeoutMilliseconds", element, result); addPropertyValueIfNotEmpty(EtcdRegistryCenterBeanDefinitionParserTag.RETRY_INTERVAL_MILLISECONDS_TAG, "retryIntervalMilliseconds", element, result); addPropertyValueIfNotEmpty(EtcdRegistryCenterBeanDefinitionParserTag.MAX_RETRIES_TAG, "maxRetries", element, result); diff --git a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/resources/META-INF/namespace/reg.xsd b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/resources/META-INF/namespace/reg.xsd index 65796085e6a1cbc63c7937599a17c9729f6345bc..8336a0143305030019de75ed2073dc80455b9ea1 100644 --- a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/resources/META-INF/namespace/reg.xsd +++ b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/resources/META-INF/namespace/reg.xsd @@ -30,6 +30,7 @@ + diff --git a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdConfiguration.java b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdConfiguration.java index 35d18e54239fc45b33f154c3ad49840f624f414e..0065cf32a2132759e4da3e168a0f69d7114da2bb 100644 --- a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdConfiguration.java +++ b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdConfiguration.java @@ -42,6 +42,11 @@ public final class EtcdConfiguration implements RegistryCenterConfiguration { */ private int timeToLiveSeconds = 60; + /** + * Keep alive span in milliseconds. + */ + private int keepAliveMilliseconds = 60 * 1000; + /** * Timeout when calling a etcd method in milliseconds. */ @@ -56,9 +61,4 @@ public final class EtcdConfiguration implements RegistryCenterConfiguration { * Maximal retries when calling a etcd method. */ private int maxRetries = 3; - - /** - * Keep alive span in milliseconds. - */ - private int keepAlive = 1000; } diff --git a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdRegistryCenter.java b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdRegistryCenter.java index 8abe02618ff7f79964ee6f6deb43a123cfa8befd..c8233a1e2ad980a42920dcd609e7d62f5ba49076 100644 --- a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdRegistryCenter.java +++ b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/reg/etcd/EtcdRegistryCenter.java @@ -23,7 +23,12 @@ import etcdserverpb.KVGrpc; import etcdserverpb.KVGrpc.KVFutureStub; import etcdserverpb.LeaseGrpc; import etcdserverpb.LeaseGrpc.LeaseFutureStub; -import etcdserverpb.Rpc.*; +import etcdserverpb.Rpc.RangeRequest; +import etcdserverpb.Rpc.RangeResponse; +import etcdserverpb.Rpc.PutRequest; +import etcdserverpb.Rpc.LeaseGrantRequest; +import etcdserverpb.Rpc.WatchCreateRequest; +import etcdserverpb.Rpc.WatchRequest; import etcdserverpb.WatchGrpc; import etcdserverpb.WatchGrpc.WatchStub; import io.grpc.Channel; @@ -69,8 +74,7 @@ public final class EtcdRegistryCenter implements RegistryCenter { kvStub = KVGrpc.newFutureStub(channel); leaseStub = LeaseGrpc.newFutureStub(channel); watchStub = WatchGrpc.newStub(channel); - keepAlive = new KeepAlive(channel, etcdConfig.getKeepAlive()); - + keepAlive = new KeepAlive(channel, etcdConfig.getKeepAliveMilliseconds()); keepAlive.start(); }