我有时只能看到缓存异常,我也无法重现。所以只是想知道我该如何进行。
我们正在使用 Jboss As 5.1 和 Hibernate 3.3.2.GA 版本
我们有一个实体
@Table(name = "TBL_COUNTRY")
@Entity
@Cache(region="/country", usage=CacheConcurrencyStrategy.READ_ONLY)
public class Country implements Serializable {
}
休眠配置:
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.SQLServerDialect" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.format_sql" value="false" />
<!-- Clustered cache with TreeCache -->
<property name="hibernate.transaction.manager_lookup_class" value="org.hibernate.transaction.JBossTransactionManagerLookup"/>
<property name="hibernate.cache.use_second_level_cache" value="true" />
name="hibernate.cache.use_query_cache" value="true" />
name="hibernate.cache.region.factory_class" value="org.hibernate.cache.jbc2.JndiMultiplexedJBossCacheRegionFactory" />
<property name="hibernate.cache.region.jbc2.query.localonly" value="true"/>
<property name="hibernate.cache.region.jbc2.cachefactory" value="java:CacheManager" />
<property name="hibernate.cache.region.jbc2.cfg.entity" value="mvcc-entity" />
<property name="hibernate.cache.region.jbc2.cfg.query" value="local-query" />
<property name="hibernate.cache.region_prefix" value="ecommerce"/>
<property name="jboss.depends.1" value="jboss:service=Naming"/>
<property name="jboss.depends.2" value="jboss:service=TransactionManager"/>
<property name="jboss.depends.3" value="jboss.cache:service=CacheManager"/>
<property name="jboss.depends.4" value="jboss.jca:name=ecomm-ds,service=ManagedConnectionPool"/>
</properties>
附上日志
ID 内连接 TBL_CURRENCIES currency2_ on shippingzo1_.CURRENCY_ID=currency2_.ID where country0_.ID=?; 参数: ; 命名参数:{countryCode=US} 重新命名。自此事务开始以来,它已经由另一个(可能是远程的)事务创建。我们有一个并发的创建事件。在 org.jboss.cache.interceptors.OptimisticValidatorInterceptor.visitOptimisticPrepareCommand(OptimisticValidatorInterceptor.java:116) 在 org.jboss.cache.commands.tx.OptimisticPrepareCommand.acceptVisitor(OptimisticPrepareCommand.java:55) 在 org.jboss.cache.interceptors.base .CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116) 在 org.jboss.cache.interceptors.OptimisticLockingInterceptor.visitOptimisticPrepareCommand(OptimisticLockingInterceptor.java:89) 在 org.jboss.cache。