public static async Task Main(string[] args) { await Bootstrap.StartNode(args, KillRecpientType.Service, IpcApplicationType.Client, ab => { ab.OnMemberUp((context, system, cluster) => { string ApplyMongoUrl(string baseUrl, string repoKey, SharpRepositoryConfiguration configuration) { var builder = new MongoUrlBuilder(baseUrl) { DatabaseName = repoKey, ApplicationName = context.HostingEnvironment.ApplicationName }; var mongoUrl = builder.ToString(); configuration.AddRepository(new MongoDbRepositoryConfiguration(repoKey, mongoUrl) { Factory = typeof(MongoDbConfigRepositoryFactory) }); return(mongoUrl); } ServiceRegistry.Get(system) .RegisterService(new RegisterService( context.HostingEnvironment.ApplicationName, cluster.SelfUniqueAddress, ServiceTypes.Infrastructure)); var connectionstring = system.Settings.Config.GetString("akka.persistence.snapshot-store.mongodb.connection-string"); if (string.IsNullOrWhiteSpace(connectionstring)) { LogManager.GetCurrentClassLogger().Error("No Mongo DB Connection provided: Shutdown"); system.Terminate(); return; } var config = new SharpRepositoryConfiguration(); var fileSystemBuilder = new VirtualFileFactory(); ApplyMongoUrl(connectionstring, CleanUpManager.RepositoryKey, config); var url = ApplyMongoUrl(connectionstring, RepositoryManager.RepositoryKey, config); RepositoryManager.InitRepositoryManager(system, new RepositoryManagerConfiguration(config, fileSystemBuilder.CreateMongoDb(url), DataTransferManager.New(system, "Repository-DataTransfer"))); url = ApplyMongoUrl(connectionstring, DeploymentManager.RepositoryKey, config); DeploymentManager.InitDeploymentManager(system, new DeploymentConfiguration(config, fileSystemBuilder.CreateMongoDb(url), DataTransferManager.New(system, "Deployment-DataTransfer"), RepositoryApi.CreateProxy(system))); ApplyMongoUrl(connectionstring, ServiceManagerDeamon.RepositoryKey, config); ServiceManagerDeamon.Init(system, config); }) .OnMemberRemoved((_, system, _) => system.Terminate()); }, true)
public void ShouldFindSourceByName() { var vf = new VirtualFileFactory(_vfa); var provider = vf.GetProvider("Normal"); Assert.That(provider, Is.Not.Null); }
public bool IsValid(string path) => IsValid(VirtualFileFactory.CrerateLocal(path));
public SoftwareRepository Read(IActorRefFactory factory, string path) => Read(factory, VirtualFileFactory.CrerateLocal(path));
public void ShouldFindAllSourceNames() { var vf = new VirtualFileFactory(_vfa); Assert.That(vf.AvailableProviders.Count(), Is.EqualTo(3)); }
public VirtualFileProviderViewAdapter(IConfigurationLocator configLocator) { var config = VirtualFileAccessorSectionGroup.Get(configLocator); _factory = new VirtualFileFactory(config); }
public static IVirtualFileSystem CreateMongoDb(this VirtualFileFactory factory, GridFSBucket bucket) => new GridFSVistualFileSystem(bucket);
public static IVirtualFileSystem CreateMongoDb(this VirtualFileFactory factory, string bucket) { var mongoUrl = MongoUrl.Create(bucket); return(new GridFSVistualFileSystem(new GridFSBucket(new MongoClient(bucket).GetDatabase(mongoUrl.DatabaseName)))); }