public GlobalSingleInstanceActivationMaintainer( LocalGrainDirectory router, ILogger logger, IInternalGrainFactory grainFactory, IMultiClusterOracle multiClusterOracle, ExecutorService executorService, ILocalSiloDetails siloDetails, IOptions <MultiClusterOptions> multiClusterOptions, ILoggerFactory loggerFactory, RegistrarManager registrarManager) : base(executorService, loggerFactory) { this.router = router; this.logger = logger; this.grainFactory = grainFactory; this.multiClusterOracle = multiClusterOracle; this.siloDetails = siloDetails; this.multiClusterOptions = multiClusterOptions.Value; this.period = multiClusterOptions.Value.GlobalSingleInstanceRetryInterval; this.registrarManager = registrarManager; multiClusterOracle.SubscribeToMultiClusterConfigurationEvents(this); logger.Debug("GSIP:M GlobalSingleInstanceActivationMaintainer Started, Period = {0}", period); }
public static void InitializeGrainDirectoryManager(LocalGrainDirectory router, int numRetriesForGSI) { Instance = new RegistrarManager(); Instance.Register<ClusterLocalRegistration>(new ClusterLocalRegistrar(router.DirectoryPartition)); Instance.Register<GlobalSingleInstanceRegistration>(new GlobalSingleInstanceRegistrar(router.DirectoryPartition, router.Logger, router.GsiActivationMaintainer, numRetriesForGSI)); }
public static void InitializeGrainDirectoryManager(LocalGrainDirectory router) { Instance = new RegistrarManager(); Instance.Register <ClusterLocalRegistration>(new ClusterLocalRegistrar(router.DirectoryPartition)); }