/** * @return local transaction * @throws IgniteException in case tx was not found. */ private TransactionProxy tx() throws IgniteException { if (tx == null) throw new IgniteException("Operation allowed only inside remote filter or " + "inside local listener registered on originating node. " + "Only xid() operation allowed in other case. "); if (proxy == null) proxy = tx.proxy(); return proxy; }
/** {@inheritDoc} */ @Nullable @Override public Transaction tx() { GridNearTxLocal tx = cctx.tm().userTx(); return tx != null ? tx.proxy() : null; }
/** * Roll backs current transaction. */ private void rollbackCurrentTx() { try { TxContext ctx = txCtx.get(); if (ctx != null) { txCtx.remove(); GridNearTxLocal tx = cache.tx(); if (tx != null) tx.proxy().rollback(); } } catch (IgniteException e) { log.error("Failed to rollback cache transaction.", e); } }
/** * * @param ctx Transaction context. * @param key Key. */ private void unlock(TxContext ctx, Object key) { if (ctx.unlocked(key)) { // Finish transaction if last key is unlocked. txCtx.remove(); GridNearTxLocal tx = cache.tx(); assert tx != null; try { tx.proxy().commit(); } finally { tx.proxy().close(); } assert cache.tx() == null; } }
/** {@inheritDoc} */ @Override public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize) throws IllegalStateException { IgniteTransactionsEx txs = ctx.kernalContext().cache().transactions(); return txs.txStartEx(ctx, concurrency, isolation, timeout, txSize).proxy(); }
/** {@inheritDoc} */ @Override public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize) { A.notNull(concurrency, "concurrency"); A.notNull(isolation, "isolation"); A.ensure(timeout >= 0, "timeout cannot be negative"); A.ensure(txSize >= 0, "transaction size cannot be negative"); return txStart0( concurrency, isolation, timeout, txSize, null ).proxy(); }
/** {@inheritDoc} */ @Override public Transaction txStart() throws IllegalStateException { TransactionConfiguration cfg = CU.transactionConfiguration(null, cctx.kernalContext().config()); return txStart0( cfg.getDefaultTxConcurrency(), cfg.getDefaultTxIsolation(), cfg.getDefaultTxTimeout(), 0, null ).proxy(); }
/** {@inheritDoc} */ @Override public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation) { A.notNull(concurrency, "concurrency"); A.notNull(isolation, "isolation"); TransactionConfiguration cfg = CU.transactionConfiguration(null, cctx.kernalContext().config()); return txStart0( concurrency, isolation, cfg.getDefaultTxTimeout(), 0, null ).proxy(); }
/** * @return local transaction * @throws IgniteException in case tx was not found. */ private TransactionProxy tx() throws IgniteException { if (tx == null) throw new IgniteException("Operation allowed only inside remote filter or " + "inside local listener registered on originating node. " + "Only xid() operation allowed in other case. "); if (proxy == null) proxy = tx.proxy(); return proxy; }
/** {@inheritDoc} */ @Nullable @Override public Transaction tx() { GridNearTxLocal tx = cctx.tm().userTx(); return tx != null ? tx.proxy() : null; }
/** {@inheritDoc} */ @Override public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize) throws IllegalStateException { IgniteTransactionsEx txs = ctx.kernalContext().cache().transactions(); return txs.txStartEx(ctx, concurrency, isolation, timeout, txSize).proxy(); }
/** {@inheritDoc} */ @Override public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation, long timeout, int txSize) { A.notNull(concurrency, "concurrency"); A.notNull(isolation, "isolation"); A.ensure(timeout >= 0, "timeout cannot be negative"); A.ensure(txSize >= 0, "transaction size cannot be negative"); return txStart0( concurrency, isolation, timeout, txSize, null ).proxy(); }
/** {@inheritDoc} */ @Override public Transaction txStart(TransactionConcurrency concurrency, TransactionIsolation isolation) { A.notNull(concurrency, "concurrency"); A.notNull(isolation, "isolation"); TransactionConfiguration cfg = CU.transactionConfiguration(null, cctx.kernalContext().config()); return txStart0( concurrency, isolation, cfg.getDefaultTxTimeout(), 0, null ).proxy(); }
/** {@inheritDoc} */ @Override public Transaction txStart() throws IllegalStateException { TransactionConfiguration cfg = CU.transactionConfiguration(null, cctx.kernalContext().config()); return txStart0( cfg.getDefaultTxConcurrency(), cfg.getDefaultTxIsolation(), cfg.getDefaultTxTimeout(), 0, null ).proxy(); }