public async Task Activate(HandlerGraph handlers, CapabilityGraph capabilities, JasperRuntime runtime, OutgoingChannels channels) { var capabilityCompilation = capabilities.Compile(handlers, _serialization, channels, runtime, _transports, _lookups); var transports = _transports.Where(x => x.State == TransportState.Enabled).ToArray(); if (!_settings.DisableAllTransports) { await _settings.ApplyLookups(_lookups); channels.StartTransports(_pipeline, _settings, transports); _delayedJobs.Start(_pipeline, channels); var local = new TransportNode(channels, _settings.MachineName); await _nodes.Register(local); } runtime.Capabilities = await capabilityCompilation; if (runtime.Capabilities.Errors.Any() && _settings.ThrowOnValidationErrors) { throw new InvalidSubscriptionException(runtime.Capabilities.Errors); } }
public async Task StartAsync(CancellationToken cancellationToken) { try { var local = new ServiceNode(_settings) { HttpEndpoints = _runtime.HttpAddresses?.Select(x => x.ToUri().ToMachineUri()).Distinct() .ToArray() }; _runtime.Node = local; await _nodes.Register(local); } catch (Exception e) { _logger .LogException(e, message: "Failure when trying to register the node with " + _nodes); } }