DataTransaction

This commit is contained in:
redkale
2023-01-31 20:39:02 +08:00
parent c6a1d584ea
commit ba3c0fdf72

View File

@@ -0,0 +1,44 @@
/*
*
*/
package org.redkale.source;
import java.util.concurrent.CompletableFuture;
/**
* DataSource的事务类 <br>
* 示例: <br>
* <blockquote><pre>
* DataSource source = ...;
* DataTransaction tran = source.createTransaction();
* try {
* tran.source().insert(record1); //必须使用tran.source()不能使用source
* tran.source().update(record2); //必须使用tran.source()不能使用source
* tran.commit(); //事务提交
* } catch(Exception e){
* tran.rollback(); //回滚
* }
* </pre></blockquote>
*
* 详情见: https://redkale.org
*
* @author zhangjx
* @since 2.8.0
*/
public interface DataTransaction {
//事务版的DataSource
DataSource source();
//同步模式提交
public void commit();
//同步模式回滚
public void rollback();
//异步模式提交
public CompletableFuture<Void> commitAsync();
//异步模式回滚
public CompletableFuture<Void> rollbackAsync();
}