/** * Used by a writer to wait on a fence so that changes are visible to all readers with in-progress transactions. * * @param fenceId uniquely identifies the data that this fence is used to synchronize. * If the data is a table cell then this id can be composed of the table name, row key * and column key for the data. * @return {@link FenceWait} object */ public static FenceWait prepareWait(byte[] fenceId, TransactionSystemClient txClient) throws TransactionFailureException, InterruptedException, TimeoutException { return new DefaultFenceWait(new TransactionContext(txClient, new WriteFence(fenceId))); } }
/** * Used by a writer to wait on a fence so that changes are visible to all readers with in-progress transactions. * * @param fenceId uniquely identifies the data that this fence is used to synchronize. * If the data is a table cell then this id can be composed of the table name, row key * and column key for the data. * @return {@link FenceWait} object */ public static FenceWait prepareWait(byte[] fenceId, TransactionSystemClient txClient) throws TransactionFailureException, InterruptedException, TimeoutException { return new DefaultFenceWait(new TransactionContext(txClient, new WriteFence(fenceId))); } }
TransactionAware writeFence = new WriteFence(fenceId); TransactionContext writeTxContext = new TransactionContext(new InMemoryTxSystemClient(txManager), writeFence); writeTxContext.start();
TransactionAware writeFence = new WriteFence(fenceId); TransactionContext writeTxContext = new TransactionContext(new InMemoryTxSystemClient(txManager), writeFence); writeTxContext.start();