use of io.servicecomb.serviceregistry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestPropertiesLoader method testInstancePropertiesLoader.
@Test
public void testInstancePropertiesLoader() {
MicroserviceInstance instance = RegistryUtils.getMicroserviceInstance();
Map<String, String> expectedMap = new HashMap<>();
expectedMap.put("key0", "value0");
Assert.assertEquals(expectedMap, instance.getProperties());
}
use of io.servicecomb.serviceregistry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class InstanceCache method createTransportMap.
protected Map<String, List<CacheEndpoint>> createTransportMap() {
Map<String, List<CacheEndpoint>> transportMap = new HashMap<>();
for (MicroserviceInstance instance : instanceMap.values()) {
// 过滤到不可用实例
if (instance.getStatus() != MicroserviceInstanceStatus.UP) {
continue;
}
for (String endpoint : instance.getEndpoints()) {
try {
URI uri = URI.create(endpoint);
String transportName = uri.getScheme();
List<CacheEndpoint> cacheEndpointList = transportMap.get(transportName);
if (cacheEndpointList == null) {
cacheEndpointList = new ArrayList<>();
transportMap.put(transportName, cacheEndpointList);
}
cacheEndpointList.add(new CacheEndpoint(endpoint, instance));
} catch (Exception e) {
LOGGER.warn("unrecognized address find, ignore " + endpoint);
}
}
}
return transportMap;
}
use of io.servicecomb.serviceregistry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class InstanceCacheManager method create.
private InstanceCache create(String appId, String microserviceName, String microserviceVersionRule) {
List<MicroserviceInstance> instances = RegistryUtils.findServiceInstance(appId, microserviceName, microserviceVersionRule);
if (instances == null) {
return null;
}
Map<String, MicroserviceInstance> instMap = new HashMap<>();
for (MicroserviceInstance instance : instances) {
instMap.put(instance.getInstanceId(), instance);
}
InstanceCache instCache = new InstanceCache(appId, microserviceName, microserviceVersionRule, instMap);
String key = getKey(appId, microserviceName);
cacheMap.put(key, instCache);
return instCache;
}
use of io.servicecomb.serviceregistry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestCacheRegistryListener method testonMicroserviceInstanceChangedUPDATE.
@Test
public void testonMicroserviceInstanceChangedUPDATE() {
MicroserviceInstanceChangedEvent changedEvent = new MicroserviceInstanceChangedEvent();
changedEvent.setAction(WatchAction.UPDATE);
MicroserviceKey key = Mockito.mock(MicroserviceKey.class);
changedEvent.setKey(key);
MicroserviceInstance mInstance = Mockito.mock(MicroserviceInstance.class);
changedEvent.setInstance(mInstance);
instance.onMicroserviceInstanceChanged(changedEvent);
}
use of io.servicecomb.serviceregistry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestCacheRegistryListener method testonMicroserviceInstanceChangedCREATE.
@Test
public void testonMicroserviceInstanceChangedCREATE() {
MicroserviceInstanceChangedEvent changedEvent = new MicroserviceInstanceChangedEvent();
changedEvent.setAction(WatchAction.CREATE);
MicroserviceKey key = Mockito.mock(MicroserviceKey.class);
changedEvent.setKey(key);
MicroserviceInstance mInstance = Mockito.mock(MicroserviceInstance.class);
changedEvent.setInstance(mInstance);
instance.onMicroserviceInstanceChanged(changedEvent);
}
Aggregations