public static Future<MasterDomainControllerClient> install(final ServiceTarget serviceTarget, final ModelController controller, final ExtensionRegistry extensionRegistry, final LocalHostControllerInfo localHostControllerInfo, final ProductConfig productConfig, final String securityRealm, final RemoteFileRepository remoteFileRepository, final IgnoredDomainResourceRegistry ignoredDomainResourceRegistry) { RemoteDomainConnectionService service = new RemoteDomainConnectionService(controller, extensionRegistry, localHostControllerInfo, productConfig, remoteFileRepository, ignoredDomainResourceRegistry); ServiceBuilder<MasterDomainControllerClient> builder = serviceTarget.addService(MasterDomainControllerClient.SERVICE_NAME, service) .addDependency(ManagementRemotingServices.MANAGEMENT_ENDPOINT, Endpoint.class, service.endpointInjector) .setInitialMode(ServiceController.Mode.ACTIVE); if (securityRealm != null) { ServiceName realmName = SecurityRealmService.BASE_SERVICE_NAME.append(securityRealm); builder.addDependency(realmName, SecurityRealm.class, service.securityRealmInjector); } builder.install(); return service.futureClient; }
@Override public ModelNode execute(ModelNode operation) throws IOException { return execute(operation, OperationMessageHandler.logging); }
@Override public synchronized Cancellable pollForConnect() { final Future<Connection> future = connection.reconnect(); setupHandler(); return new Cancellable() { @Override public boolean cancel() { return future.cancel(true); } }; }
} catch (IOException e) { rethrowIrrecoverableConnectionFailures(e); setupHandler(); break; logConnectionException(masterURI, discoveryOption, moreOptions, e); if (!moreOptions) { throw HostControllerLogger.ROOT_LOGGER.discoveryOptionsFailureUnableToConnect(e);
Future<MasterDomainControllerClient> clientFuture = RemoteDomainConnectionService.install(serviceTarget, getValue(), extensionRegistry, hostControllerInfo,
@Override public Connection call() throws Exception { final ReconnectPolicy reconnectPolicy = ReconnectPolicy.RECONNECT; int reconnectionCount = 0; for(;;) { // Try to connect to the remote host controller by looping through all // discovery options reconnectPolicy.wait(reconnectionCount); HostControllerLogger.ROOT_LOGGER.reconnectingToMaster(); for (Iterator<DiscoveryOption> i = discoveryOptions.iterator(); i.hasNext(); ) { DiscoveryOption discoveryOption = i.next(); URI masterURI = null; try { List<RemoteDomainControllerConnectionConfiguration> remoteDcConfigs = discoveryOption.discover(); for (RemoteDomainControllerConnectionConfiguration remoteDcConfig : remoteDcConfigs) { try { return connect(remoteDcConfig); } catch (IOException ioe) { // If the cause is one of the irrecoverable ones, unwrap and throw it on RemoteDomainConnectionService.rethrowIrrecoverableConnectionFailures(ioe); } } } catch (Exception e) { RemoteDomainConnectionService.logConnectionException(masterURI, discoveryOption, i.hasNext(), e); } } reconnectionCount++; } } });
} catch (IOException e) { rethrowIrrecoverableConnectionFailures(e); setupHandler(); break; logConnectionException(masterURI, discoveryOption, moreOptions, e); if (!moreOptions) { throw HostControllerLogger.ROOT_LOGGER.discoveryOptionsFailureUnableToConnect(e);
private DomainConnectResult connectToDomainMaster(ServiceTarget serviceTarget, RunningMode currentRunningMode, boolean usingCachedDC, boolean adminOnly) { Future<MasterDomainControllerClient> clientFuture = RemoteDomainConnectionService.install(serviceTarget, getValue(), extensionRegistry,
@Override public Connection call() throws Exception { final ReconnectPolicy reconnectPolicy = ReconnectPolicy.RECONNECT; int reconnectionCount = 0; for(;;) { // Try to connect to the remote host controller by looping through all // discovery options reconnectPolicy.wait(reconnectionCount); HostControllerLogger.ROOT_LOGGER.reconnectingToMaster(); for (Iterator<DiscoveryOption> i = discoveryOptions.iterator(); i.hasNext(); ) { DiscoveryOption discoveryOption = i.next(); URI masterURI = null; try { List<RemoteDomainControllerConnectionConfiguration> remoteDcConfigs = discoveryOption.discover(); for (RemoteDomainControllerConnectionConfiguration remoteDcConfig : remoteDcConfigs) { try { return connect(remoteDcConfig); } catch (IOException ioe) { // If the cause is one of the irrecoverable ones, unwrap and throw it on RemoteDomainConnectionService.rethrowIrrecoverableConnectionFailures(ioe); } } } catch (Exception e) { RemoteDomainConnectionService.logConnectionException(masterURI, discoveryOption, i.hasNext(), e); } } reconnectionCount++; } } });
@Override public ModelNode execute(ModelNode operation) throws IOException { return execute(operation, OperationMessageHandler.logging); }
final Map<String, ProxyController> serverProxies, final AtomicBoolean domainConfigAvailable) { RemoteDomainConnectionService service = new RemoteDomainConnectionService(controller, extensionRegistry, localHostControllerInfo, remoteFileRepository, contentRepository, ignoredDomainResourceRegistry, operationExecutor, domainController,
private DomainConnectResult connectToDomainMaster(ServiceTarget serviceTarget, RunningMode currentRunningMode, boolean usingCachedDC, boolean adminOnly) { Future<MasterDomainControllerClient> clientFuture = RemoteDomainConnectionService.install(serviceTarget, getValue(), extensionRegistry,
@Override public synchronized Cancellable pollForConnect() { final Future<Connection> future = connection.reconnect(); setupHandler(); return new Cancellable() { @Override public boolean cancel() { return future.cancel(true); } }; }
@Override public ModelNode execute(ModelNode operation) throws IOException { return execute(operation, OperationMessageHandler.logging); }
final Map<String, ProxyController> serverProxies, final AtomicBoolean domainConfigAvailable) { RemoteDomainConnectionService service = new RemoteDomainConnectionService(controller, extensionRegistry, localHostControllerInfo, remoteFileRepository, contentRepository, ignoredDomainResourceRegistry, operationExecutor, domainController,