use of org.apache.servicecomb.service.center.client.AddressManager in project java-chassis by ServiceComb.
the class RegistryClientTest method testRestTransport.
@Override
public void testRestTransport() throws Exception {
AddressManager addressManager = new AddressManager("default", Arrays.asList("http://127.0.0.1:30100"), new EventBus());
SSLProperties sslProperties = new SSLProperties();
sslProperties.setEnabled(false);
ServiceCenterClient serviceCenterClient = new ServiceCenterClient(addressManager, sslProperties, new DefaultRequestAuthHeaderProvider(), "default", null);
EventBus eventBus = new SimpleEventBus();
ServiceCenterConfiguration serviceCenterConfiguration = new ServiceCenterConfiguration();
ServiceCenterRegistration serviceCenterRegistration = new ServiceCenterRegistration(serviceCenterClient, serviceCenterConfiguration, eventBus);
Microservice microservice = new Microservice();
microservice.setAppId("app_registry");
microservice.setServiceName("name_registry");
microservice.setVersion("1.0.0");
microservice.setEnvironment("development");
List<String> schemas = new ArrayList<>();
schemas.add("SchemaA");
schemas.add("SchemaB");
microservice.setSchemas(schemas);
MicroserviceInstance microserviceInstance = new MicroserviceInstance();
microserviceInstance.setHostName("host_registry");
List<String> endpoints = new ArrayList<>();
endpoints.add("rest://127.0.0.1/");
microserviceInstance.setEndpoints(endpoints);
List<SchemaInfo> schemaInfos = new ArrayList<>();
SchemaInfo schemaA = new SchemaInfo();
schemaA.setSchemaId("SchemaA");
schemaA.setSchema("schema contents in any format");
schemaA.setSummary(Hashing.sha256().newHasher().putString("schema contents in any format".toString(), Charsets.UTF_8).hash().toString());
schemaInfos.add(schemaA);
SchemaInfo schemaB = new SchemaInfo();
schemaB.setSchemaId("SchemaA");
schemaB.setSchema("schema contents in any format");
schemaB.setSummary(Hashing.sha256().newHasher().putString("schema contents in any format".toString(), Charsets.UTF_8).hash().toString());
schemaInfos.add(schemaB);
serviceCenterRegistration.setMicroservice(microservice);
serviceCenterRegistration.setMicroserviceInstance(microserviceInstance);
serviceCenterRegistration.setSchemaInfos(schemaInfos);
eventBus.register(this);
serviceCenterRegistration.startRegistration();
registrationCounter.await(30000, TimeUnit.MILLISECONDS);
if (hasRegistered) {
TestMgr.check(events.size() >= 3, true);
TestMgr.check(events.get(0).isSuccess(), true);
TestMgr.check(events.get(0) instanceof MicroserviceRegistrationEvent, true);
TestMgr.check(events.get(1).isSuccess(), true);
TestMgr.check(events.get(1) instanceof MicroserviceInstanceRegistrationEvent, true);
TestMgr.check(events.get(2).isSuccess(), true);
TestMgr.check(events.get(2) instanceof HeartBeatEvent, true);
} else {
TestMgr.check(events.size() >= 4, true);
TestMgr.check(events.get(0).isSuccess(), true);
TestMgr.check(events.get(0) instanceof MicroserviceRegistrationEvent, true);
TestMgr.check(events.get(1).isSuccess(), true);
TestMgr.check(events.get(1) instanceof SchemaRegistrationEvent, true);
TestMgr.check(events.get(2).isSuccess(), true);
TestMgr.check(events.get(2) instanceof MicroserviceInstanceRegistrationEvent, true);
TestMgr.check(events.get(3).isSuccess(), true);
TestMgr.check(events.get(3) instanceof HeartBeatEvent, true);
}
ServiceCenterDiscovery discovery = new ServiceCenterDiscovery(serviceCenterClient, eventBus);
discovery.updateMyselfServiceId(microservice.getServiceId());
discovery.startDiscovery();
discovery.registerIfNotPresent(new SubscriptionKey(microservice.getAppId(), microservice.getServiceName()));
discoveryCounter.await(30000, TimeUnit.MILLISECONDS);
TestMgr.check(instances != null, true);
TestMgr.check(instances.size(), 1);
discovery.stop();
serviceCenterRegistration.stop();
serviceCenterClient.deleteMicroserviceInstance(microservice.getServiceId(), microserviceInstance.getInstanceId());
}
use of org.apache.servicecomb.service.center.client.AddressManager in project java-chassis by ServiceComb.
the class RBACBootStrapService method startup.
@Override
public void startup(Environment environment) {
if (!getBooleanProperty(environment, false, RBAC_ENABLED)) {
return;
}
AddressManager addressManager = createAddressManager(environment);
SSLProperties sslProperties = createSSLProperties(environment, "sc.consumer");
sslProperties.setEnabled(addressManager.sslEnabled());
// header: x-domain-name and url: /v1/{project}/ are all token from getTenantName。
ServiceCenterClient serviceCenterClient = new ServiceCenterClient(addressManager, sslProperties, new DefaultRequestAuthHeaderProvider(), getTenantName(environment), new HashMap<>(0));
Map<String, ServiceCenterClient> clients = new HashMap<>(1);
clients.put(DEFAULT_REGISTRY_NAME, serviceCenterClient);
TokenCacheManager.getInstance().setServiceCenterClients(clients);
TokenCacheManager.getInstance().addTokenCache(DEFAULT_REGISTRY_NAME, getStringProperty(environment, null, ACCOUNT_NAME_KEY), getStringProperty(environment, null, PASSWORD_KEY), getCipher(getStringProperty(environment, DefaultCipher.CIPHER_NAME, CIPHER_KEY)));
}
Aggregations