Further to the last post:
Since it's now configurable, this:
queryCacheLocalWritesOnly = StandardQueryCache.class.getName().equals(regionName)
&& this.cacheProperties.isQueryCacheLocalWritesOnly();
Can now become this:
queryCacheLocalWritesOnly = regionName.contains(StandardQueryCache.class.getName())
&& this.cacheProperties.isQueryCacheLocalWritesOnly();
This will handle the case where the user provided a region prefix for the SessionFactory
but the StandardQueryCache is still used, i.e. the passed in regionName becomes:
regionprefix.org.hibernate.cache.StandardQueryCache
I didn't do it that way in the EJB3 code because localWritesOnly was a last minute
workaround that couldn't be disabled, so I wanted to limit it to the one case I knew
we couldn't handle. The hibernate.treecache.standardquerycache.local.writes.only
property gives us more freedom to do it right.
Further, I think queryCacheLocalWritesOnly =
regionName.contains(StandardQueryCache.class.getName()) &&
this.cacheProperties.isQueryCacheLocalWritesOnly(); should move above the
if (cache.getUseRegionBasedMarshalling()) code block. This functionality is no longer so
closely related to marshalling issues; it's also a (configurable) performance
optimization.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4169356#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...