private void start() { configMap = createPingConfig(client.getConfiguration(), metadata); log.debug(this + " timeout: " + configMap.get(ServerInvoker.TIMEOUT)); log.debug(this + " ping retries: " + configMap.get("NumberOfCallRetries")); log.debug(this + " connection retries: " + configMap.get("NumberOfRetries")); locator = client.getInvoker().getLocator(); try { clientInvoker = InvokerRegistry.createClientInvoker(locator, configMap); } catch (Exception e) { log.debug("Unable to create client invoker for locator: " + locator); throw new RuntimeException("Unable to create client invoker for locator: " + locator, e); } if (!clientInvoker.isConnected()) { if (trace) { log.trace("inner client invoker not connected, connecting ..."); } clientInvoker.connect(); } TimerUtil.schedule(this, pingPeriod); stopped = false; log.debug(this + " started"); }
private void getParameters(Client client, Map metadata) { getParametersFromMap(client.getConfiguration()); getParametersFromMap(metadata); ClientInvoker clientInvoker = client.getInvoker(); if (clientInvoker instanceof MicroRemoteClientInvoker) { invokerSessionId = ((MicroRemoteClientInvoker) clientInvoker).getSessionId(); } else { throw new RuntimeException("creating a ConnectionValidator on a local connection"); } }