DataTransaction
This commit is contained in:
44
src/main/java/org/redkale/source/DataTransaction.java
Normal file
44
src/main/java/org/redkale/source/DataTransaction.java
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user