瀏覽代碼

Improve namespace register logic for embedded token server mode

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
master
Eric Zhao 6 年之前
父節點
當前提交
e4d0f4c6ab
共有 1 個文件被更改,包括 13 次插入0 次删除
  1. +13
    -0
      sentinel-cluster/sentinel-cluster-server-default/src/main/java/com/alibaba/csp/sentinel/cluster/server/SentinelDefaultTokenServer.java

+ 13
- 0
sentinel-cluster/sentinel-cluster-server-default/src/main/java/com/alibaba/csp/sentinel/cluster/server/SentinelDefaultTokenServer.java 查看文件

@@ -15,8 +15,11 @@
*/
package com.alibaba.csp.sentinel.cluster.server;

import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;

import com.alibaba.csp.sentinel.cluster.ClusterStateManager;
import com.alibaba.csp.sentinel.cluster.registry.ConfigSupplierRegistry;
import com.alibaba.csp.sentinel.cluster.server.config.ClusterServerConfigManager;
import com.alibaba.csp.sentinel.cluster.server.config.ServerTransportConfig;
@@ -93,6 +96,7 @@ public class SentinelDefaultTokenServer implements ClusterTokenServer {
if (shouldStart.get()) {
if (server != null) {
server.start();
ClusterStateManager.markToServer();
if (embedded) {
RecordLog.info("[SentinelDefaultTokenServer] Running in embedded mode");
handleEmbeddedStart();
@@ -120,6 +124,15 @@ public class SentinelDefaultTokenServer implements ClusterTokenServer {
private void handleEmbeddedStart() {
String namespace = ConfigSupplierRegistry.getNamespaceSupplier().get();
if (StringUtil.isNotEmpty(namespace)) {
// Mark server global mode as embedded.
ClusterServerConfigManager.setEmbedded(true);
if (!ClusterServerConfigManager.getNamespaceSet().contains(namespace)) {
Set<String> namespaceSet = new HashSet<>(ClusterServerConfigManager.getNamespaceSet());
namespaceSet.add(namespace);
ClusterServerConfigManager.loadServerNamespaceSet(namespaceSet);
}

// Register self to connection group.
ConnectionManager.addConnection(namespace, HostNameUtil.getIp());
}
}


Loading…
取消
儲存