Set<String> infoSet = jedis.keys(routekey);
if (infoSet.isEmpty()) {
- throw new ExtendedNotFoundException("delete ApiRoute FAIL:serviceName-"
- + serviceName + ",version:" + version + " not fond ");
+ LOGGER.warn("delete ApiRoute FAIL:serviceName-"
+ + serviceName + ",version:" + version + " not fond ");
}
+ else{
- String[] paths = new String[infoSet.size()];
-
-
- infoSet.toArray(paths);
-
- jedis.del(paths);
+ String[] paths = new String[infoSet.size()];
+ infoSet.toArray(paths);
+ jedis.del(paths);
+ }
} catch (ExtendedNotFoundException e) {
+ RouteUtil.PROTOCOL_LIST + ")");
}
- MicroServiceFullInfo existingMicroServiceInfo;
+
try {
- //To determine whether a service already exists
- existingMicroServiceInfo =
- MicroServiceDB.getInstance().getMicroServiceInstance(
- microServiceInfo.getServiceName().trim(), microServiceInfo.getVersion().trim(),serverPort);
-
- MicroServiceFullInfo newMicroServiceInfo ;
- if (existingMicroServiceInfo != null) {
- //a service already exists
-
- if (!existingMicroServiceInfo.getProtocol().equals(microServiceInfo.getProtocol())) {
- throw new ExtendedNotSupportedException(
- "MicroServiceInfo with different protocols and same serviceName is already existing");
- }
+
+
if (createOrUpdate == false) {
//After the first remove added
MicroServiceDB.getInstance().deleteMicroService(
microServiceInfo.getServiceName(), microServiceInfo.getVersion(),serverPort);
- MicroServiceDB.getInstance().saveMicroServiceInfo2Redis(microServiceInfo,serverPort);
+ //Notify the listeners
+ MicroServiceDB.getInstance().noticeApiListener(microServiceInfo, "DELETE",serverPort);
- } else {
- //Add the original record and save directly
- MicroServiceDB.getInstance().saveMicroServiceInfo2Redis(microServiceInfo,serverPort);
- }
+ }
- newMicroServiceInfo =
- MicroServiceDB.getInstance().getMicroServiceInstance(
- microServiceInfo.getServiceName(), microServiceInfo.getVersion(),serverPort);
-
- //Notify the listeners
- MicroServiceDB.getInstance().noticeUpdateApiListener(microServiceInfo.getServiceName(),microServiceInfo.getVersion(),newMicroServiceInfo,serverPort);
-
- } else {
//Save the new record
MicroServiceDB.getInstance().saveMicroServiceInfo2Redis(microServiceInfo,serverPort);
//Notify the listeners
MicroServiceDB.getInstance().noticeApiListener(microServiceInfo, "ADD",serverPort);
- newMicroServiceInfo =
- MicroServiceDB.getInstance().getMicroServiceInstance(
- microServiceInfo.getServiceName(), microServiceInfo.getVersion(),serverPort);
- }
+
+
+
+ MicroServiceFullInfo newMicroServiceInfo =
+ MicroServiceDB.getInstance().getMicroServiceInstance(
+ microServiceInfo.getServiceName(), microServiceInfo.getVersion(),serverPort);
String routekey = MicroServiceUtil.getPrefixedKey(serverPort,serviceName, version, "*");
Set<String> infoSet = jedis.keys(routekey);
+ if (infoSet.isEmpty()) {
+ LOGGER.error("delete MicroService FAIL:serviceName-"
+ + serviceName + ",version:" + version + " not fond ");
+ }
+ else{
String[] paths = new String[infoSet.size()];
infoSet.toArray(paths);
jedis.del(paths);
+ }
} catch (Exception e) {
LOGGER.error("call redis throw exception", e);
throw new Exception("call redis throw exception:"+e.getMessage());