/// <summary> /// Loads the persisters. /// </summary> /// <returns></returns> private RouterControlConfigurator LoadPersisters() { _subscriptorsPersiter = new NullSubscriptorPersister(); MongoPersiterConfig mongoPersister = _hermEsbConfig.RouterControlProcessor.Persister.MongoPersister; if (mongoPersister.Connection.Servers.Count > 0) { //Cargamos la configuracion de mongo var settings = new MongoSettingsExtended { ConnectionMode = mongoPersister.Connection.ConnectionMode, ConnectTimeout = mongoPersister.Connection.ConnectTimeout, MaxConnectionIdleTime = mongoPersister.Connection.MaxConnectionIdleTime, MaxConnectionLifeTime = mongoPersister.Connection.MaxConnectionLifeTime, MaxConnectionPoolSize = mongoPersister.Connection.MaxConnectionPoolSize, MinConnectionPoolSize = mongoPersister.Connection.MinConnectionPoolSize, ReplicaSetName = mongoPersister.Connection.ReplicaSetName, SlaveOk = mongoPersister.Connection.SlaveOk, SocketTimeout = mongoPersister.Connection.SocketTimeout, WaitQueueSize = mongoPersister.Connection.WaitQueueSize, WaitQueueTimeout = mongoPersister.Connection.WaitQueueTimeout, Database = mongoPersister.Connection.Database }; foreach (ServerConnection server in mongoPersister.Connection.Servers) { settings.AddServer(server.Server, server.Port); } _subscriptorsPersiter = MongoSubscriptorsPersisterFactory.Create(settings, mongoPersister.Collection); } return(this); }
/// <summary> /// Creates the specified connection name. /// </summary> /// <param name="mongoSettings">The mongo settings.</param> /// <param name="collection">The collection.</param> /// <returns></returns> public static ISubscriptorsPersister Create(MongoSettingsExtended mongoSettings, string collection) { try { MongoHelperProvider.Instance.AddConnection("SubscriptorsEntities", mongoSettings); var repository = new Repository <SubscriptorEntity, ObjectId>("SubscriptorsEntities", collection); return(new MongoSubscriptorsPersister(repository)); } catch (Exception ex) { LoggerManager.Instance.Error("Error Create Mongo Subscriptor Persister", ex); throw; } }