Caching 一致性中的事务缓存

Caching 一致性中的事务缓存,caching,distributed-caching,oracle-coherence,Caching,Distributed Caching,Oracle Coherence,我试图在一致性中设置事务缓存,但根据文档中的示例尝试创建连接时遇到以下问题: java.lang.IllegalStateException: Service "TransactionalCache" has been started with a non-compatible BackingMapManager: com.tangosol.coherence.transaction.internal.TxConfigurableCacheFactory$Manager@30d73d83

我试图在一致性中设置事务缓存,但根据文档中的示例尝试创建连接时遇到以下问题:

java.lang.IllegalStateException: Service "TransactionalCache" has been started with a non-compatible BackingMapManager: com.tangosol.coherence.transaction.internal.TxConfigurableCacheFactory$Manager@30d73d83
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.validateBackingMapManager(ExtensibleConfigurableCacheFactory.java:806)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:585)
        at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:317)
        at com.tangosol.coherence.transaction.internal.ConfigHelper.getTransactionalService(ConfigHelper.java:136)
        at com.tangosol.coherence.transaction.internal.ConfigHelper.ensureTransactionalService(ConfigHelper.java:328)
        at com.tangosol.coherence.transaction.DefaultConnectionFactory.createConnection(DefaultConnectionFactory.java:41)
这是我的缓存配置:

<caching-scheme-mapping>
      <cache-mapping>
         <cache-name>testCache</cache-name>
         <scheme-name>testScheme</scheme-name>
      </cache-mapping>
   </caching-scheme-mapping>

   <caching-schemes>
      <transactional-scheme>
         <scheme-name>testScheme</scheme-name>
         <!--<service-name>TransactionalCache</service-name>-->
         <partition-count>2039</partition-count>
         <backup-count>1</backup-count>
         <autostart>true</autostart>
      </transactional-scheme>
   </caching-schemes>
EDIT2:除此之外,还有一件奇怪的事情:当我试图释放我从CacheFactory.getCache使用CacheFactory.releaseCache获得的原始非tx缓存时,我遇到了以下异常:

java.lang.IllegalArgumentException: The cache testCache was created using a different factory; that same factory should be used to release the cache.
     at com.tangosol.net.ExtensibleConfigurableCacheFactory.releaseCache(ExtensibleConfigurableCacheFactory.java:1013)
     at com.tangosol.net.ExtensibleConfigurableCacheFactory.releaseCache(ExtensibleConfigurableCacheFactory.java:288)
     at com.tangosol.net.CacheFactory.releaseCache(CacheFactory.java:486)
     at org.radargun.service.Coherence3Service.releaseCache(Coherence3Service.java:118)
     at org.radargun.service.Coherence3Service.stop(Coherence3Service.java:129)
     at org.radargun.stages.lifecycle.LifecycleHelper.stop(LifecycleHelper.java:133)
     at org.radargun.stages.ScenarioCleanupStage.executeOnSlave(ScenarioCleanupStage.java:36)
     at org.radargun.Slave.run(Slave.java:97)
     at org.radargun.Slave.main(Slave.java:157)

我很确定您在使用NamedCache获取TransactionalCache实例时遇到了这段代码片段—您还可以看看使用com.tangosol.coherence.transaction.DefaultConnectionFactory类而不是使用CacheFactory类吗。
java.lang.IllegalArgumentException: The cache testCache was created using a different factory; that same factory should be used to release the cache.
     at com.tangosol.net.ExtensibleConfigurableCacheFactory.releaseCache(ExtensibleConfigurableCacheFactory.java:1013)
     at com.tangosol.net.ExtensibleConfigurableCacheFactory.releaseCache(ExtensibleConfigurableCacheFactory.java:288)
     at com.tangosol.net.CacheFactory.releaseCache(CacheFactory.java:486)
     at org.radargun.service.Coherence3Service.releaseCache(Coherence3Service.java:118)
     at org.radargun.service.Coherence3Service.stop(Coherence3Service.java:129)
     at org.radargun.stages.lifecycle.LifecycleHelper.stop(LifecycleHelper.java:133)
     at org.radargun.stages.ScenarioCleanupStage.executeOnSlave(ScenarioCleanupStage.java:36)
     at org.radargun.Slave.run(Slave.java:97)
     at org.radargun.Slave.main(Slave.java:157)