protected virtual IMongoDatabase GetDatabase(string connectionStringName) { var url = new MongoUrl(GetConnectionString(connectionStringName)); var client = url.CreateClient(false); return(client.GetDatabase(url.DatabaseName)); }
/// <summary> /// Check connection and returns true if the instance of mongodb is operational. /// </summary> /// <param name="connection"></param> /// <returns></returns> public static Boolean CheckConnection(String connection) { var url = new MongoUrl(connection); var client = url.CreateClient(false); return(CheckConnection(client)); }
public EventUnwinder( ProjectionEngineConfig config, IPersistence persistence, ILogger logger) { _config = config; _persistence = persistence; _logger = logger; var url = new MongoUrl(_config.EventStoreConnectionString); var client = url.CreateClient(false); var _mongoDatabase = client.GetDatabase(url.DatabaseName); _unwindedEventCollection = _mongoDatabase.GetCollection <UnwindedDomainEvent>("UnwindedEvents"); _unwindedEventCollection.Indexes.CreateOne( Builders <UnwindedDomainEvent> .IndexKeys .Ascending(ude => ude.CheckpointToken) .Ascending(ude => ude.EventSequence) .Ascending(ude => ude.EventType), new CreateIndexOptions() { Name = "ScanPrimary" } ); }
public void TestFixtureSetUp() { _container = new WindsorContainer(); _container.Kernel.ComponentRegistered += Kernel_ComponentRegistered; String connectionString = ConfigurationManager.ConnectionStrings["log"].ConnectionString; var rebusUrl = new MongoUrl(connectionString); var rebusClient = rebusUrl.CreateClient(false); var rebusDb = rebusClient.GetDatabase(rebusUrl.DatabaseName); _messages = rebusDb.GetCollection <TrackedMessageModel>("messages"); MongoDbMessagesTracker tracker = new MongoDbMessagesTracker(rebusDb); JarvisRebusConfiguration configuration = new JarvisRebusConfiguration(connectionString, "test") { ErrorQueue = "jarvistest-errors", InputQueue = "jarvistest-input", MaxRetry = 3, NumOfWorkers = 1, EndpointsMap = new System.Collections.Generic.Dictionary <string, string>() { { "Jarvis.Framework.Tests", "jarvistest-input" } } }; configuration.AssembliesWithMessages = new List <System.Reflection.Assembly>() { typeof(SampleMessage).Assembly, }; JarvisTestBusBootstrapper bb = new JarvisTestBusBootstrapper( _container, configuration, tracker); TestHelper.RegisterSerializerForFlatId <SampleAggregateId>(); bb.Start(); var rebusConfigurer = _container.Resolve <RebusConfigurer>(); rebusConfigurer.Start(); _bus = _container.Resolve <IBus>(); _handler = new SampleCommandHandler(); _commandExecutionExceptionHelper = new JarvisDefaultCommandExecutionExceptionHelper(NullLogger.Instance, 20, 10); var handlerAdapter = new MessageHandlerToCommandHandlerAdapter <SampleTestCommand>(_handler, _commandExecutionExceptionHelper, tracker, _bus); _container.Register( Component .For <IHandleMessages <SampleTestCommand> >() .Instance(handlerAdapter) ); var handlerAggregateAdapter = new MessageHandlerToCommandHandlerAdapter <SampleAggregateTestCommand>(_handler, _commandExecutionExceptionHelper, tracker, _bus); _container.Register( Component .For <IHandleMessages <SampleAggregateTestCommand> >() .Instance(handlerAggregateAdapter) ); }
private IMongoCollection <BsonDocument> GetMongoCommitsCollection() { var url = new MongoUrl(_config.EventStoreConnectionString); var client = url.CreateClient(false); var db = client.GetDatabase(url.DatabaseName); return(db.GetCollection <BsonDocument>(EventStoreFactory.PartitionCollectionName)); }
public void TestFixtureSetUp() { String connectionString = ConfigurationManager.ConnectionStrings["log"].ConnectionString; var logUrl = new MongoUrl(connectionString); var logClient = logUrl.CreateClient(false); var logDb = logClient.GetDatabase(logUrl.DatabaseName); sut = new MongoDbMessagesTracker(logDb); _messages = logDb.GetCollection <TrackedMessageModel>("messages"); }
public void TestFixtureSetUp() { _container = new WindsorContainer(); String connectionString = ConfigurationManager.ConnectionStrings["log"].ConnectionString; var logUrl = new MongoUrl(connectionString); var logClient = logUrl.CreateClient(false); var logDb = logClient.GetDatabase(logUrl.DatabaseName); logDb.Drop(); _messages = logDb.GetCollection <TrackedMessageModel>("messages"); JarvisRebusConfiguration configuration = new JarvisRebusConfiguration(connectionString, "test") { ErrorQueue = "jarvistest-errors", InputQueue = "jarvistest-input", MaxRetry = RebusMaxRetry, NumOfWorkers = 1, EndpointsMap = new System.Collections.Generic.Dictionary <string, string>() { ["Jarvis.Framework.Tests"] = "jarvistest-input" } }; configuration.AssembliesWithMessages = new List <System.Reflection.Assembly>() { typeof(SampleMessage).Assembly, }; MongoDbMessagesTracker tracker = new MongoDbMessagesTracker(logDb); BusBootstrapper bb = CreateBusBootstrapper(tracker, configuration); bb.Start(); var rebusConfigurer = _container.Resolve <RebusConfigurer>(); rebusConfigurer.Start(); _bus = _container.Resolve <IBus>(); var handler = new AnotherSampleCommandHandler(); var commandExecutionExceptionHelper = new JarvisDefaultCommandExecutionExceptionHelper(NullLogger.Instance, 20, 10); var handlerAdapter = new MessageHandlerToCommandHandlerAdapter <AnotherSampleTestCommand>( handler, commandExecutionExceptionHelper, tracker, _bus); _container.Register( Component .For <IHandleMessages <AnotherSampleTestCommand> >() .Instance(handlerAdapter) ); }
public void TestFixtureSetUp() { String connectionString = ConfigurationManager.ConnectionStrings["log"].ConnectionString; var url = new MongoUrl(connectionString); var client = url.CreateClient(false); var db = client.GetDatabase(url.DatabaseName); db.Drop(); _messages = db.GetCollection <TrackedMessageModel>("messages"); _tracker = new MongoDbMessagesTracker(db); TestHelper.RegisterSerializerForFlatId <SampleAggregateId>(); GenerateData(); }
protected BusBootstrapper( IWindsorContainer container, JarvisRebusConfiguration configuration, IMessagesTracker messagesTracker, Boolean useCustomJarvisFrameworkBinder) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (container == null) { throw new ArgumentNullException(nameof(container)); } if (messagesTracker == null) { throw new ArgumentNullException(nameof(messagesTracker)); } if (configuration.AssembliesWithMessages?.Any() == false) { var message = @"Rebus configuration has no AssembliesWithMessages. It is necessary to at least configure one assembly with messages to be dispatched."; throw new InvalidOperationException(message); } _container = container; JarvisRebusConfiguration = configuration; var mongoUrl = new MongoUrl(configuration.ConnectionString); var mongoClient = mongoUrl.CreateClient(false); _mongoDatabase = mongoClient.GetDatabase(mongoUrl.DatabaseName); var factory = container.Resolve <ILoggerFactory>(); Logger = factory.Create(GetType()); // PRXM JsonSerializerSettingsForRebus.ContractResolver = new MessagesContractResolver(); JsonSerializerSettingsForRebus.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor; if (useCustomJarvisFrameworkBinder) { JsonSerializerSettingsForRebus.SerializationBinder = new JarvisFrameworkRebusSerializationBinder(factory.Create(typeof(JarvisFrameworkRebusSerializationBinder))); } _messagesTracker = messagesTracker; // PRXM }
private void PerformCheck() { try { var url = new MongoUrl(_serverUrl); var client = url.CreateClient(false); client.ListDatabases(); var state = client.Cluster.Description.State; if (state == MongoDB.Driver.Core.Clusters.ClusterState.Connected) { //Connection ok, but replicaset??? var disconnectedNodes = client.Cluster .Description .Servers .Where(_ => _.State == MongoDB.Driver.Core.Servers.ServerState.Disconnected) .ToList(); if (disconnectedNodes.Count > 0) { _lastError = String.Format("Replica set is on but these members are down: {0}!", String.Join(", ", disconnectedNodes.Select(_ => _.ServerId?.ToString()))); } else { _lastError = null; } } else { _lastError = String.Format("Unable to connect to Mongo Db Instance {0}!", _dbDescription); } } catch (Exception ex) { _lastError = String.Format("Exception in connection {0}", ex.Message); } }