public void TestFixtureSetUp() { var modelAssembly = Assembly.Load("EventSourcing.Sample.Model"); var applicationAssembly = Assembly.Load("EventSourcing.Sample.Application"); var entityAssembly = Assembly.Load("EventSourcing.Sample.Entities"); var mappingAssembly = Assembly.Load("EventSourcing.Sample.Entities.Mappings"); var eventSubscriberAssembly = Assembly.Load("EventSourcing.Sample.EventSubscribers"); var assemblies = new Assembly[] { modelAssembly, applicationAssembly, entityAssembly, mappingAssembly, eventSubscriberAssembly }; try { Configuration.Create("EventSourcing.Sample") .Install(new DefaultConfigurationInstaller(Assembly.GetExecutingAssembly())) .Castle() .CastleTransaction() .CastleUnitOfWorkManager() .Log4Net() .RegisterComponents(assemblies) .NHibernate(assemblies); } catch (Exception e) { if (!e.Message.Contains("不可重复初始化框架配置")) { Console.WriteLine(e.Message); throw e; } } this._logger = DependencyResolver.Resolve<ILoggerFactory>().Create(this.GetType().Name); this._sessionManager = DependencyResolver.Resolve<INHibernateSessionManager>(); }
public void TestFixtureSetUp() { var modelAssembly = Assembly.Load("EventSourcing.Sample.Model"); var applicationAssembly = Assembly.Load("EventSourcing.Sample.Application"); var entityAssembly = Assembly.Load("EventSourcing.Sample.Entities"); var mappingAssembly = Assembly.Load("EventSourcing.Sample.Entities.Mappings"); var eventSubscriberAssembly = Assembly.Load("EventSourcing.Sample.EventSubscribers"); var assemblies = new Assembly[] { modelAssembly, applicationAssembly, entityAssembly, mappingAssembly, eventSubscriberAssembly }; try { Configuration.Create("EventSourcing.Sample") .Install(new DefaultConfigurationInstaller(Assembly.GetExecutingAssembly())) .Castle() .CastleTransaction() .CastleUnitOfWorkManager() .Log4Net() .RegisterComponents(assemblies) .NHibernate(assemblies); } catch (Exception e) { if (!e.Message.Contains("不可重复初始化框架配置")) { Console.WriteLine(e.Message); throw e; } } this._logger = DependencyResolver.Resolve <ILoggerFactory>().Create(this.GetType().Name); this._sessionManager = DependencyResolver.Resolve <INHibernateSessionManager>(); }
public NHibernateUnitOfWork(INHibernateSessionManager sessionManager, ISyncMessageBus eventBus, ILoggerFactory loggerFactory, IDomainHandlerMetaDataProvider metaDataProvider) : base(eventBus, loggerFactory, metaDataProvider) { //这里在构造函数中激活NHibernate的Session, //这样做的目的是确保在Castle提交事务时,不会有新的Session注册到Castle的事务上; //Castle不允许在提交事务的过程中再有创建Session的情况出现,否则会抛出资源竞争并发冲突异常。 sessionManager.OpenSession(); }
/// <summary> /// 构造函数 /// </summary> public NHibernateSnapshotStoreBase( INHibernateSessionManager sessionManager, IJsonSerializer snapshotSerializer, ITypeNameMapper typeNameMapper, ISnapshotTypeProvider snapshotTypeProvider, ILoggerFactory loggerFactory) { _sessionManager = sessionManager; _snapshotSerializer = snapshotSerializer; _typeNameMapper = typeNameMapper; _snapshotTypeProvider = snapshotTypeProvider; _logger = loggerFactory.Create("EventSourcing.NHibernateSnapshotStoreBase"); }
/// <summary> /// 构造函数 /// </summary> public NHibernateEventStoreBase( INHibernateSessionManager sessionManager, IJsonSerializer eventSerializer, ITypeNameMapper typeNameMapper, IAggregateRootEventTypeProvider aggregateRootEventTypeProvider, ILoggerFactory loggerFactory) { _sessionManager = sessionManager; _eventSerializer = eventSerializer; _typeNameMapper = typeNameMapper; _aggregateRootEventTypeProvider = aggregateRootEventTypeProvider; _logger = loggerFactory.Create("EventSourcing.NHibernateEventStoreBase"); }
public NHibernateUnitOfWork(INHibernateSessionManager nHibernateSessionManager) { _nHibernateSessionManager = nHibernateSessionManager; }
public NHibernateDapperQueryService(INHibernateSessionManager sessionManager) { _sessionManager = sessionManager; }
public NHibernateSubscriptionStorage(INHibernateSessionManager sessionManager) { _sessionManager = sessionManager; }