@Override public StoreTransaction beginTransaction(StoreTxConfig txConfig) throws StorageException { if (transactional) { TransactionOptions txo = new TransactionOptions(); txo.setTimeout(lockExpireMS, TimeUnit.MILLISECONDS); return new HazelCastTransaction(manager.newTransactionContext(txo), txConfig); } else { return new NoOpStoreTransaction(txConfig); } }
public static void main(String[] args) throws Exception { HazelcastInstance hz = Hazelcast.newHazelcastInstance(); TransactionOptions txOptions = new TransactionOptions().setTimeout(10, TimeUnit.SECONDS); TransactionContext txCxt = hz.newTransactionContext(txOptions); txCxt.beginTransaction(); TransactionalMap<String, String> map = txCxt.getMap("map"); try { map.put("1", "1"); map.put("2", "2"); txCxt.commitTransaction(); } catch (RuntimeException t) { txCxt.rollbackTransaction(); throw t; } System.out.println("Finished"); Hazelcast.shutdownAll(); } }
@Override protected Object innerCall() throws Exception { TransactionOptions options = new TransactionOptions(); options.setDurability(parameters.durability); options.setTimeout(parameters.timeout, TimeUnit.MILLISECONDS); options.setTransactionType(TransactionOptions.TransactionType.getByValue(parameters.transactionType)); TransactionManagerServiceImpl transactionManager = (TransactionManagerServiceImpl) clientEngine.getTransactionManagerService(); TransactionContext context = transactionManager.newClientTransactionContext(options, endpoint.getUuid()); context.beginTransaction(); endpoint.setTransactionContext(context); return context.getTxnId(); }
@Override protected Object innerCall() throws Exception { TransactionOptions options = new TransactionOptions(); options.setDurability(parameters.durability); options.setTimeout(parameters.timeout, TimeUnit.MILLISECONDS); options.setTransactionType(TransactionOptions.TransactionType.getByValue(parameters.transactionType)); TransactionManagerServiceImpl transactionManager = (TransactionManagerServiceImpl) clientEngine.getTransactionManagerService(); TransactionContext context = transactionManager.newClientTransactionContext(options, endpoint.getUuid()); context.beginTransaction(); endpoint.setTransactionContext(context); return context.getTxnId(); }
txOps.setTransactionType(TransactionOptions.TransactionType.LOCAL); if (definition.getTimeout() > 0) { txOps.setTimeout(definition.getTimeout(), TimeUnit.SECONDS);
txOps.setTransactionType(TransactionOptions.TransactionType.LOCAL); if (definition.getTimeout() > 0) { txOps.setTimeout(definition.getTimeout(), TimeUnit.SECONDS);