Signed-off-by: Eric Zhao <sczyh16@gmail.com>master
@@ -99,16 +99,20 @@ public class TransportConfig { | |||
} | |||
/** | |||
* Get dashboard heartbeat api path. | |||
* If the context path not configured,it will be the default api path | |||
* Get the heartbeat api path. If the machine registry path of the dashboard | |||
* is modified, then the API path should also be consistent with the API path of the dashboard. | |||
* | |||
* @return api path. | |||
* @return the heartbeat api path | |||
* @since 1.7.1 | |||
*/ | |||
public static String getHeartbeatApiPath() { | |||
String apiPath = SentinelConfig.getConfig(HEARTBEAT_API_PATH); | |||
if (StringUtil.isBlank(apiPath)) { | |||
return HEARTBEAT_DEFAULT_PATH; | |||
} | |||
return apiPath + HEARTBEAT_DEFAULT_PATH; | |||
if (!apiPath.startsWith("/")) { | |||
apiPath = "/" + apiPath; | |||
} | |||
return apiPath; | |||
} | |||
} |
@@ -66,7 +66,7 @@ public class TransportConfigTest { | |||
} | |||
@Test | |||
public void getHeartbeatApiPath() { | |||
public void testGetHeartbeatApiPath() { | |||
// use default heartbeat api path | |||
assertTrue(StringUtil.isNotEmpty(TransportConfig.getHeartbeatApiPath())); | |||
assertEquals(TransportConfig.HEARTBEAT_DEFAULT_PATH, TransportConfig.getHeartbeatApiPath()); | |||
@@ -74,7 +74,12 @@ public class TransportConfigTest { | |||
// config heartbeat api path | |||
SentinelConfig.setConfig(TransportConfig.HEARTBEAT_API_PATH, "/demo"); | |||
assertTrue(StringUtil.isNotEmpty(TransportConfig.getHeartbeatApiPath())); | |||
assertEquals("/demo" + TransportConfig.HEARTBEAT_DEFAULT_PATH, TransportConfig.getHeartbeatApiPath()); | |||
assertEquals("/demo", TransportConfig.getHeartbeatApiPath()); | |||
SentinelConfig.setConfig(TransportConfig.HEARTBEAT_API_PATH, "demo/registry"); | |||
assertEquals("/demo/registry", TransportConfig.getHeartbeatApiPath()); | |||
SentinelConfig.removeConfig(TransportConfig.HEARTBEAT_API_PATH); | |||
assertEquals(TransportConfig.HEARTBEAT_DEFAULT_PATH, TransportConfig.getHeartbeatApiPath()); | |||
} | |||
} |
@@ -73,7 +73,7 @@ public class SimpleHttpHeartbeatSender implements HeartbeatSender { | |||
return true; | |||
} | |||
} catch (Exception e) { | |||
RecordLog.warn("[SimpleHttpHeartbeatSender] Failed to send heartbeat to " + addr + " : ", e); | |||
RecordLog.warn("[SimpleHttpHeartbeatSender] Failed to send heartbeat to " + addr, e); | |||
} | |||
return false; | |||
} | |||