private synchronized String getServiceBaseUrl() { if (serviceBaseUrl == null) { LoadBalancer lb = lbFactory.getLoadBalancer(serviceName); lb.waitForServiceInstance(); com.sixt.service.framework.rpc.ServiceEndpoint endpoint = lb.getHealthyInstance(); serviceBaseUrl = "http://" + endpoint.getHostAndPort(); } return serviceBaseUrl; }
public RESPONSE sendRequest(Message request, OrangeContext orangeContext) throws RpcCallException { ProtobufRpcRequest pbRequest = new ProtobufRpcRequest(client.getMethodName(), request); logger.info("Calling {} with {}", client.getMethodName(), ProtobufUtil. protobufToJson(pbRequest.getPayload())); client.getLoadBalancer().waitForServiceInstance(); RESPONSE response = null; response = (RESPONSE) client.callSynchronous(request, orangeContext); logger.info("Received response: {}", response); return response; }
private ServiceUnderTestImpl(String serviceName, boolean useEventHandler, String kafkaTopic) { ServiceProperties serviceProperties = new ServiceProperties(); serviceProperties.initialize(new String[0]); TestInjectionModule baseModule = new ServiceUnderTestModule(serviceName, serviceProperties); Injector injector = Guice.createInjector(baseModule, new ServiceRegistryModule(serviceProperties), new TracingModule(serviceProperties)); ServiceDiscoveryProvider provider = injector.getInstance(ServiceDiscoveryProvider.class); loadBalancerFactory = injector.getInstance(LoadBalancerFactory.class); loadBalancerFactory.initialize(provider); loadBalancer = loadBalancerFactory.getLoadBalancer(serviceName); loadBalancer.waitForServiceInstance(); RpcClientFactory rpcClientFactory = injector.getInstance(RpcClientFactory.class); RpcMethodScanner rpcMethodScanner = new RpcMethodScanner(rpcClientFactory); serviceMethods = rpcMethodScanner.getMethodHandlers(serviceName); httpCommandProxy = injector.getInstance(HttpCommandProxy.class); httpCommandProxy.setServiceName(serviceName); if (useEventHandler) { eventHandler = injector.getInstance(ServiceTestEventHandler.class); eventHandler.initialize(kafkaTopic); } }
private void initialize() throws Exception { buildMethodHandlers(serviceName.replaceAll("-", "_")); registrationManager.setRegisteredHandlers(methodHandlers.getMethodHandlers()); registrationManager.register(); messageHandler.setServiceName(serviceName); messageHandler.start(); while(! registrationManager.isRegistered()) { logger.info("Waiting for service registration of {}", serviceName); new Sleeper().sleepNoException(100); } healthCheckManager.initialize(); loadBalancerFactory = injector.getInstance(LoadBalancerFactory.class); loadBalancerFactory.getLoadBalancer(serviceName).waitForServiceInstance(); }