org.infinispan.configuration.cache.Configuration.transaction()方法的使用及代码示例

x33g5p2x  于2022-01-18 转载在 其他  
字(12.8k)|赞(0)|评价(0)|浏览(175)

本文整理了Java中org.infinispan.configuration.cache.Configuration.transaction()方法的一些代码示例,展示了Configuration.transaction()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Configuration.transaction()方法的具体详情如下:
包路径:org.infinispan.configuration.cache.Configuration
类名称:Configuration
方法名:transaction

Configuration.transaction介绍

暂无

代码示例

代码示例来源:origin: wildfly/wildfly

public CacheEntryMutator(Cache<K, V> cache, K id, V value) {
  this.cache = cache;
  this.id = id;
  this.value = value;
  this.mutated = cache.getCacheConfiguration().transaction().transactionMode().isTransactional() ? new AtomicBoolean(false) : null;
}

代码示例来源:origin: teiid/teiid

public InfinispanCache(org.infinispan.Cache<K, V> cacheStore, String cacheName, ClassLoader classloader) {
  assert(cacheStore != null);
  this.cacheStore = cacheStore.getAdvancedCache();
  TransactionMode transactionMode = this.cacheStore.getCacheConfiguration().transaction().transactionMode();
  this.transactional = transactionMode == TransactionMode.TRANSACTIONAL;
  LogManager.logDetail(LogConstants.CTX_RUNTIME, "Added", transactionMode, "infinispan cache", cacheName); //$NON-NLS-1$ //$NON-NLS-2$
  this.name = cacheName;
  this.classloader = classloader;
}

代码示例来源:origin: wildfly/wildfly

public InfinispanCacheProperties(Configuration config) {
  this.transactional = config.transaction().transactionMode().isTransactional();
  this.lockOnWrite = this.transactional && (config.transaction().lockingMode() == LockingMode.PESSIMISTIC);
  this.lockOnRead = this.lockOnWrite && (config.locking().isolationLevel() == IsolationLevel.REPEATABLE_READ);
  boolean clustered = config.clustering().cacheMode().needsStateTransfer();
  boolean hasStore = config.persistence().usingStores();
  this.marshalling = clustered || hasStore;
  this.persistent = clustered || (hasStore && !config.persistence().passivation());
}

代码示例来源:origin: org.overlord.rtgov.common/rtgov-infinispan

transaction().transactionMode() != TransactionMode.TRANSACTIONAL) {
if (LOG.isLoggable(Level.FINEST)) {
  LOG.finest("Not transactional, so returning true");

代码示例来源:origin: org.wildfly/wildfly-clustering-ee-infinispan

public CacheEntryMutator(Cache<K, V> cache, K id, V value) {
  this.cache = cache;
  this.id = id;
  this.value = value;
  this.mutated = cache.getCacheConfiguration().transaction().transactionMode().isTransactional() ? new AtomicBoolean(false) : null;
}

代码示例来源:origin: hibernate/hibernate-ogm

/**
 * Inject our TransactionManager lookup delegate for transactional caches ONLY!
 * <p>
 * injecting one in a non-transactional cache will have side-effects on other configuration settings.
 *
 * @return an updated version of the configuration
 */
private static Configuration injectTransactionManager(TransactionManagerLookupDelegator transactionManagerLookupDelegator, Configuration configuration) {
  if ( configuration.transaction().transactionMode() == TransactionMode.TRANSACTIONAL ) {
    ConfigurationBuilder builder = new ConfigurationBuilder().read( configuration );
    builder.transaction()
        .transactionManagerLookup( transactionManagerLookupDelegator );
    return builder.build();
  }
  return configuration;
}

代码示例来源:origin: org.jboss.eap/wildfly-clustering-ee-infinispan

public CacheEntryMutator(Cache<K, V> cache, K id, V value) {
  this.cache = cache;
  this.id = id;
  this.value = value;
  this.mutated = cache.getCacheConfiguration().transaction().transactionMode().isTransactional() ? new AtomicBoolean(false) : null;
}

代码示例来源:origin: org.hibernate.ogm/hibernate-ogm-infinispan-embedded

/**
 * Inject our TransactionManager lookup delegate for transactional caches ONLY!
 * <p>
 * injecting one in a non-transactional cache will have side-effects on other configuration settings.
 *
 * @return an updated version of the configuration
 */
private static Configuration injectTransactionManager(TransactionManagerLookupDelegator transactionManagerLookupDelegator, Configuration configuration) {
  if ( configuration.transaction().transactionMode() == TransactionMode.TRANSACTIONAL ) {
    ConfigurationBuilder builder = new ConfigurationBuilder().read( configuration );
    builder.transaction()
        .transactionManagerLookup( transactionManagerLookupDelegator );
    return builder.build();
  }
  return configuration;
}

代码示例来源:origin: org.infinispan/infinispan-hibernate-cache-commons

public static boolean isTransactionalCache(AdvancedCache cache) {
  return cache.getCacheConfiguration().transaction().transactionMode().isTransactional();
}

代码示例来源:origin: org.infinispan/infinispan-core

public void testTransactionModeOverride() {
 ConfigurationBuilder c = new ConfigurationBuilder();
 c.transaction().transactionMode(TransactionMode.NON_TRANSACTIONAL);
 assertEquals(TransactionMode.TRANSACTIONAL, cacheManager.getCache().getCacheConfiguration().transaction().transactionMode());
 cacheManager.defineConfiguration("nonTx", c.build());
 assertEquals(TransactionMode.NON_TRANSACTIONAL, cacheManager.getCache("nonTx").getCacheConfiguration().transaction().transactionMode());
}

代码示例来源:origin: org.infinispan/infinispan-hibernate-cache-v51

protected void checkAccessType(AccessType accessType) {
  if (accessType == AccessType.TRANSACTIONAL && !cache.getCacheConfiguration().transaction().transactionMode().isTransactional()) {
    log.transactionalStrategyNonTransactionalCache();
  }
  else if (accessType == AccessType.READ_WRITE && cache.getCacheConfiguration().transaction().transactionMode().isTransactional()) {
    log.readWriteStrategyTransactionalCache();
  }
}

代码示例来源:origin: org.infinispan.server/infinispan-server-infinispan

} else if (config.transaction().transactionMode() == org.infinispan.transaction.TransactionMode.TRANSACTIONAL) {
  configBuilder.addDependency(
      TxnServices.JBOSS_TXN_TRANSACTION_MANAGER,
      cacheConfigurationDependencies.getTransactionManagerInjector()
  );
  if (config.transaction().useSynchronization()) {
    configBuilder.addDependency(
        TxnServices.JBOSS_TXN_SYNCHRONIZATION_REGISTRY,

代码示例来源:origin: org.infinispan/infinispan-server-hotrod

/**
* Checks if the configuration (and the transaction manager) is able to handle client transactions.
*/
private void validateConfiguration(AdvancedCache<byte[], byte[]> cache) {
 Configuration configuration = cache.getCacheConfiguration();
 if (!configuration.transaction().transactionMode().isTransactional()) {
   throw log.expectedTransactionalCache(cache.getName());
 }
 if (configuration.locking().isolationLevel() != IsolationLevel.REPEATABLE_READ) {
   throw log.unexpectedIsolationLevel(cache.getName());
 }
 //TODO because of ISPN-7672, optimistic and total order transactions needs versions. however, versioning is currently broken
 if (configuration.transaction().lockingMode() == LockingMode.OPTIMISTIC ||
    configuration.transaction().transactionProtocol() == TransactionProtocol.TOTAL_ORDER) {
   //no Log. see comment above
   throw new IllegalStateException(
      String.format("Cache '%s' cannot use Optimistic neither Total Order transactions.", cache.getName()));
 }
}

代码示例来源:origin: org.infinispan/infinispan-hibernate-cache-v51

public QueryResultsRegionImpl(AdvancedCache cache, String name, TransactionManager transactionManager, InfinispanRegionFactory factory) {
 super(cache, name, transactionManager, null, factory, null );
 // If Infinispan is using INVALIDATION for query cache, we don't want to propagate changes.
 // We use the Timestamps cache to manage invalidation
 final boolean localOnly = Caches.isInvalidationCache(cache);
 this.evictCache = localOnly ? Caches.localCache(cache) : cache;
 this.putCache = localOnly ?
    Caches.failSilentWriteCache(cache, Flag.CACHE_MODE_LOCAL ) :
    Caches.failSilentWriteCache(cache);
 this.getCache = Caches.failSilentReadCache(cache);
 TransactionConfiguration transactionConfiguration = this.putCache.getCacheConfiguration().transaction();
 boolean transactional = transactionConfiguration.transactionMode() != TransactionMode.NON_TRANSACTIONAL;
 this.putCacheRequiresTransaction = transactional && !transactionConfiguration.autoCommit();
 // Since we execute the query update explicitly form transaction synchronization, the putCache does not need
 // to be transactional anymore (it had to be in the past to prevent revealing uncommitted changes).
 if (transactional) {
   log.useNonTransactionalQueryCache();
 }
}

代码示例来源:origin: org.infinispan/infinispan-hibernate-cache-commons

public TombstoneAccessDelegate(InfinispanDataRegion region) {
  this.region = region;
  this.cache = region.getCache();
  FunctionalMapImpl<Object, Object> fmap = FunctionalMapImpl.create(cache).withParams(Param.PersistenceMode.SKIP_LOAD);
  writeMap = ReadWriteMapImpl.create(fmap);
  // Note that correct behaviour of local and async writes depends on LockingInterceptor (see there for details)
  asyncWriteMap = ReadWriteMapImpl.create(fmap).withParams(Param.ReplicationMode.ASYNC);
  putFromLoadMap = ReadWriteMapImpl.create(fmap).withParams(Param.LockingMode.TRY_LOCK, Param.ReplicationMode.ASYNC);
  Configuration configuration = this.cache.getCacheConfiguration();
  if (configuration.clustering().cacheMode().isInvalidation()) {
    throw new IllegalArgumentException("For tombstone-based caching, invalidation cache is not allowed.");
  }
  if (configuration.transaction().transactionMode().isTransactional()) {
    throw new IllegalArgumentException("Currently transactional caches are not supported.");
  }
  requiresTransaction = configuration.transaction().transactionMode().isTransactional()
      && !configuration.transaction().autoCommit();
}

代码示例来源:origin: org.infinispan/infinispan-hibernate-cache-commons

@Test
public void testBuildImmutableEntityRegion() {
  AdvancedCache cache;
  Properties p = new Properties();
  TestRegionFactory factory = createRegionFactory(p);
  try {
    factory.getCacheManager();
    InfinispanBaseRegion region = factory.buildEntityRegion("com.acme.Address", AccessType.TRANSACTIONAL);
    assertNull( factory.getBaseConfiguration( "com.acme.Address" ) );
    cache = region.getCache();
    Configuration cacheCfg = cache.getCacheConfiguration();
    assertEquals("Immutable entity should get non-transactional cache", TransactionMode.NON_TRANSACTIONAL, cacheCfg.transaction().transactionMode());
  } finally {
    factory.stop();
  }
}

代码示例来源:origin: org.infinispan/infinispan-hibernate-cache-v51

protected void runInvalidation(boolean inTransaction) {
  // If we're running inside a transaction, we need to remove elements one-by-one
  // to clean the context as well (cache.clear() does not do that).
  // When we don't have transaction, we can do a clear operation (since we don't
  // case about context) and can't do the one-by-one remove: remove() on tx cache
  // requires transactional context.
  if (inTransaction && cache.getCacheConfiguration().transaction().transactionMode().isTransactional()) {
    log.tracef( "Transaction, clearing one element at the time" );
    Caches.removeAll( localAndSkipLoadCache );
  }
  else {
    log.tracef( "Non-transactional, clear in one go" );
    localAndSkipLoadCache.clear();
  }
}

代码示例来源:origin: org.infinispan/infinispan-core

@Test
public void testGetBlockingLocalPut() throws Throwable {
 final Cache<Object, String> nonOwnerCache = getFirstNonOwner(key);
 final Cache<Object, String> ownerCache = getFirstOwner(key);
 ownerCache.put(key, firstValue);
 assertIsNotInL1(nonOwnerCache, key);
 CheckPoint checkPoint = new CheckPoint();
 waitUntilAboutToAcquireLock(nonOwnerCache, checkPoint);
 log.warn("Doing get here - ignore all previous");
 Future<String> getFuture = fork(() -> nonOwnerCache.get(key));
 // Wait until we are about to write value into data container on non owner
 checkPoint.awaitStrict("pre_acquire_shared_topology_lock_invoked", 10, TimeUnit.SECONDS);
 Future<String> putFuture = fork(() -> nonOwnerCache.put(key, secondValue));
 Exceptions.expectException(TimeoutException.class, () -> putFuture.get(1, TimeUnit.SECONDS));
 // Let the get complete finally
 checkPoint.triggerForever("pre_acquire_shared_topology_lock_released");
 assertEquals(firstValue, getFuture.get(10, TimeUnit.SECONDS));
 assertEquals(firstValue, putFuture.get(10, TimeUnit.SECONDS));
 if (nonOwnerCache.getCacheConfiguration().transaction().transactionMode() == TransactionMode.TRANSACTIONAL) {
   assertIsInL1(nonOwnerCache, key);
 } else {
   assertIsNotInL1(nonOwnerCache, key);
 }
}

代码示例来源:origin: org.jboss.eap/wildfly-clustering-ee-infinispan

public InfinispanCacheProperties(Configuration config) {
  this.transactional = config.transaction().transactionMode().isTransactional();
  this.lockOnWrite = this.transactional && (config.transaction().lockingMode() == LockingMode.PESSIMISTIC);
  this.lockOnRead = this.lockOnWrite && (config.locking().isolationLevel() == IsolationLevel.REPEATABLE_READ);
  boolean clustered = config.clustering().cacheMode().needsStateTransfer();
  boolean hasStore = config.persistence().usingStores();
  this.marshalling = clustered || hasStore;
  this.persistent = clustered || (hasStore && !config.persistence().passivation());
}

代码示例来源:origin: org.infinispan/infinispan-clustered-counter

private static void assertCounterAndCacheConfiguration(CounterManagerConfiguration config,
   Configuration cacheConfig) {
 AssertJUnit.assertEquals(CacheMode.DIST_SYNC, cacheConfig.clustering().cacheMode());
 AssertJUnit.assertEquals(config.numOwners(), cacheConfig.clustering().hash().numOwners());
 AssertJUnit.assertEquals(config.reliability() == Reliability.CONSISTENT,
    cacheConfig.clustering().partitionHandling().whenSplit() == PartitionHandling.DENY_READ_WRITES);
 AssertJUnit.assertFalse(cacheConfig.clustering().l1().enabled());
 AssertJUnit.assertEquals(TransactionMode.NON_TRANSACTIONAL, cacheConfig.transaction().transactionMode());
}

相关文章