Hi Ayende, Thanks and much appreciated for your prompt response.
Just before I check NH Prof, I am using NH 2.0.1. Excuse me for my ignorance but is there a default expiration with SysCache2 under NH2.0.1? I can't see the setting in the NHibernate configuration schema. Thanks, Joe On Sep 28, 1:29 pm, Ayende Rahien <[email protected]> wrote: > What does NH Prof report? > Are you specifying the expiration? I think that the default expiration is 5 > minutes. > > > > On Mon, Sep 28, 2009 at 3:47 AM, Jopo <[email protected]> wrote: > > > Hi All, > > > I have been having issues with NHibernate’s 2nd level caching while > > using the SysCache2 provider. I am receiving a lot of random caching > > misses that are occurring roughly every 3-5 minutes or so. The 2nd > > level caching appears to be working when inspecting database calls > > through SQL profiler, i.e. for cached queries or entities, first time > > they are loaded into the 2nd level cache a query is sent and after > > that no query is sent until the next miss. > > > I am using what I believe is the latest version from the trunk of the > > SysCache2 provider (as of last week). I built the solution against a > > NHibernate version from more than a few months ago. I would really > > like to get this caching provider working because of the SQL Server > > Dependencies functionality. I’ve tried SysCache but that does not > > build against my NHibernate version. > > > I’ve searched the net and found that some people are having the same > > problem but their solution did not work for me: > > >https://forum.hibernate.org/viewtopic.php?p=2406601 > > > Below are my settings and configurations: > > > *Web.config* > > > <section name="syscache2" > > type="NHibernate.Caches.SysCache2.SysCacheSection, > > NHibernate.Caches.SysCache2"/> > > > <syscache2> > > <cacheRegion name="ReferenceData"> > > <dependencies> > > <tables> > > <add name="DomainObjectA" databaseEntryName="DatabaseName" > > tableName="dbo.DatabaseObjectA" /> > > <add name=" DomainObjectB " databaseEntryName=" > > DatabaseName" tableName="dbo. DatabaseObjectB" /> > > </tables> > > </dependencies> > > </cacheRegion> > > </syscache2> > > > *Session Factory.config* > > > <session-factory name=" DatabaseName"> > > <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</ > > property> > > <property > > name="connection.provider">NHibernate.Connection.DriverConnectionProvider</ > > property> > > <property > > name="connection.driver_class">NHibernate.Driver.SqlClientDriver</ > > property> > > <property name="cache.use_second_level_cache">true</property> > > <property name="cache.use_query_cache" >true</property> > > <property > > name="cache.provider_class">NHibernate.Caches.SysCache2.SysCacheProvider, > > NHibernate.Caches.SysCache2</property> > > <!--<property > > name="connection.connection_string_name">DatabaseConnectionString</ > > property>--> > > <property name="show_sql">false</property> > > <property name="generate_statistics">false</property> > > <property name="max_fetch_depth">1</property> > > <property name="connection.isolation">ReadCommitted</property> > > <property name="default_schema">dbo</property> > > <mapping assembly="AssemblyName.Repositories" /> > > </session-factory> > > </hibernate-configuration> > > > *Mapping Files* > > > ObjectA.hbm > > <class name="BusinessLogic.Domain.ObjectA, BusinessLogic.Domain" > > table="ObjectA" optimistic-lock="version"> > > > <id name="Id" column ObjectAId" access="field.camelcase- > > underscore"> > > <generator class="identity" /> > > </id> > > > <version name="Version" column="RowVersion" > > access="field.camelcase-underscore" /> > > > <many-to-one name=" ObjectB" class="BusinessLogic.Domain.ObjectB, > > BusinessLogic.Domain" access="field.camelcase-underscore"> > > <column name=" ObjectBId" not-null="true" fetch="select" > > lazy="false"/> > > </many-to-one> > > > <property> > > … > > <property /> > > </class> > > > ObjectB.hbm > > <class name=" BusinessLogic.Domain.ObjectB, BusinessLogic.Domain " > > table="ObjectB" optimistic-lock="none" mutable="true"> > > <cache usage="read-only" region="ReferenceData"/> > > <id name="Id" column="ObjectBId" access="field.camelcase- > > underscore"> > > <generator class="assigned" /> > > </id> > > > <property> > > … > > <property> > > </class> > > > *Query Example* > > > public List<ObjectB> GetObjectBReferenceData() > > { > > List<ObjectB> objectBs = new List<ObjectB>(); > > ICriteria critObjectBs = > > UnitOfWork.CurrentSession.CreateCriteria(typeof(ObjectB)) > > .SetCacheable(true); > > objectBs = critObjectBs.List<ObjectB>() as > > List<ObjectB>; > > return objectBs; > > } > > > Please note that I am using Nhibernate version 2.0.1.X (where X is the > > latest from the trunk) as opposed to using Nhibernate 2.0.1.400 which > > has some serious memory leak issues: > > >http://www.rasmuskl.dk/post/A-WinDbg-Debugging-Journey-NHibernate-Mem... > > > Any help or direction would be very much appreciated. > > > Thanks, > > Joe Turcic > > Senior .NET Developer > > Email: [email protected] Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "NHibernate Contrib - Development Group" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com.ar/group/nhcdevs?hl=en -~----------~----~----~----~------~----~------~--~---
