我有NHibernate配置与Fluent NNibernate连接到PostgreSQL数据库。NHibernate ISessionFactory.OpenSession()不打开数据库连接
我有一个工作人员类,它将ISessionFactory作为构造函数参数并使用队列中的消息。对于每条消息,工作进程调用ISessionFactory.OpenSession()并执行一些数据库处理。
当我添加更多工作进程时,系统的性能保持不变,这很奇怪。 经过一番调查后,我意识到所有工作进程正在使用单个数据库连接。例如,我会添加8个工作进程,但在数据库上我只能看到一个数据库连接。
我的理解是,ISessionFactory.OpenSession()将打开一个新的数据库连接,除非连接池已满。
所以是我的理解错误或是这和Postgres NHibernate驱动程序的问题。
我的问题很可能在于信息是如何消耗掉,而不是与NHibernate如何处理连接。 – 2011-06-01 13:54:57