[ 
https://issues.apache.org/jira/browse/IGNITE-15086?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-15086:
-----------------------------------------
    Description: 
Design a public tx API.

The proposed design includes async and sync APIs to execute a transaction.

The transaction facade looks like this:

{code}
/**
 * Ignite Transactions facade.
 */
public interface IgniteTransactions {
    /**
     * Begins the transaction.
     *
     * @return The future.
     */
    CompletableFuture<Transaction> beginAsync();

    /**
     * Synchronously executes a closure within a transaction.
     * <p>
     * If the closure is executed normally (no exceptions), the transaction is 
automatically committed.
     *
     * @param clo The closure.
     */
    void runInTransaction(Consumer<Transaction> clo);
}
{code}

  was:
Design a public tx API.

The proposed design includes async and sync APIs to execute a transaction.

The transaction facade looks like this:

{code}
/**
 * Ignite Transactions facade.
 */
public interface IgniteTransactions {
    /**
     * Begins the transaction.
     *
     * @return The future.
     */
    CompletableFuture<Transaction> beginAsync();

    /**
     * Synchronously executes a closure within a transaction.
     *
     * @param clo The closure.
     */
    void runInTransaction(Consumer<Transaction> clo);
}
{code}


> Design a public tx API
> ----------------------
>
>                 Key: IGNITE-15086
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15086
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Alexey Scherbakov
>            Assignee: Alexey Scherbakov
>            Priority: Major
>              Labels: iep-61, ignite-3
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Design a public tx API.
> The proposed design includes async and sync APIs to execute a transaction.
> The transaction facade looks like this:
> {code}
> /**
>  * Ignite Transactions facade.
>  */
> public interface IgniteTransactions {
>     /**
>      * Begins the transaction.
>      *
>      * @return The future.
>      */
>     CompletableFuture<Transaction> beginAsync();
>     /**
>      * Synchronously executes a closure within a transaction.
>      * <p>
>      * If the closure is executed normally (no exceptions), the transaction 
> is automatically committed.
>      *
>      * @param clo The closure.
>      */
>     void runInTransaction(Consumer<Transaction> clo);
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to