GitHub user ptyin edited a comment on the discussion: How to smooth the upgrade 
after transferring to an apache organization

# API 梳理

## TODO

- [ ] 对于每个 API 建一个 sample 进行测试 ➡️ sample/api
- [ ] SPI 扩展进行通用处理
- [ ] 序列化带类名
- [ ] 漏掉的 API 后续版本可以补充

## API

[DefaultHttpExecutor.java](https://github.com/apache/incubator-seata/blob/2.x/integration/http/src/main/java/io/seata/integration/http/DefaultHttpExecutor.java)

## 全局事务生命周期

[tm.api](../blob/2.x/tm/src/main/java/io/seata/tm/api) 包

[RootContext.java](../blob/2.x/core/src/main/java/io/seata/core/context/RootContext.java)

[TMClient.java](../blob/2.x/tm/src/main/java/io/seata/tm/TMClient.java)

[RMClient.java](../blob/2.x/rm/src/main/java/io/seata/rm/RMClient.java)

## 数据源代理

[DataSourceProxy.java](../blob/2.x/rm-datasource/src/main/java/io/seata/rm/datasource/DataSourceProxy.java)

[DataSourceProxyXA.java](../blob/2.x/rm-datasource/src/main/java/io/seata/rm/datasource/xa/DataSourceProxyXA.java)

## Spring

[spring.annotation](../blob/2.x/integration-tx-api/src/main/java/io/seata/spring/annotation)

[GlobalTransactionScanner.java](../blob/2.x/spring/src/main/java/io/seata/spring/annotation/GlobalTransactionScanner.java)

[EnableAutoDataSourceProxy.java](../blob/2.x/spring/src/main/java/io/seata/spring/annotation/datasource/EnableAutoDataSourceProxy.java)

## TCC

seata-tcc [rm.tcc.api](../blob/2.x/tcc/src/main/java/io/seata/rm/tcc/api)

[ProxyUtil.java](https://github.com/apache/incubator-seata/blob/2.x/integration-tx-api/src/main/java/io/seata/integration/tx/api/util/ProxyUtil.java)

[BusinessActionContext.java](https://github.com/apache/incubator-seata/blob/2.x/integration-tx-api/src/main/java/io/seata/rm/tcc/api/BusinessActionContext.java)

[BusinessActionContextParameter.java](https://github.com/apache/incubator-seata/blob/2.x/integration-tx-api/src/main/java/io/seata/rm/tcc/api/BusinessActionContextParameter.java)

## Saga

### 核心入口

[StateMachineEngine.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/StateMachineEngine.java)

[StateMachineConfig.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/StateMachineConfig.java)

**实现**

[ProcessCtrlStateMachineEngine.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/impl/ProcessCtrlStateMachineEngine.java)

[DefaultStateMachineConfig.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/impl/DefaultStateMachineConfig.java)

[DbStateMachineConfig.java](../blob/2.x/saga/seata-saga-engine-store/src/main/java/io/seata/saga/engine/config/DbStateMachineConfig.java)

### 组件

[AsyncCallback.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/AsyncCallback.java)

[ProcessContext.java](../blob/2.x/saga/seata-saga-processctrl/src/main/java/io/seata/saga/proctrl/ProcessContext.java)

[HierarchicalProcessContext.java](../blob/2.x/saga/seata-saga-processctrl/src/main/java/io/seata/saga/proctrl/HierarchicalProcessContext.java)

**实现**

[ProcessContextImpl.java](../blob/2.x/saga/seata-saga-processctrl/src/main/java/io/seata/saga/proctrl/impl/ProcessContextImpl.java)

### 领域模型

[domain](../blob/2.x/saga/seata-saga-statelang/src/main/java/io/seata/saga/statelang/domain)
 包下所有内容

### 验证

**验证规则**

[Rule.java](../blob/2.x/saga/seata-saga-statelang/src/main/java/io/seata/saga/statelang/validator/Rule.java)

## SPI 扩展

**拦截器**

[StateHandlerInterceptor.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/pcext/StateHandlerInterceptor.java)

[StateRouterInterceptor.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/pcext/StateRouterInterceptor.java)

[TransactionPropagationInterceptor.java](https://github.com/apache/incubator-seata/blob/2.x/integration/http/src/main/java/io/seata/integration/http/TransactionPropagationInterceptor.java)
https://github.com/apache/incubator-seata/blob/2.x/integration/http-jakarta/src/main/java/io/seata/integration/http/JakartaTransactionPropagationInterceptor.java

https://github.com/apache/incubator-seata/tree/2.x/integration/grpc

GitHub link: 
https://github.com/apache/incubator-seata/discussions/6059#discussioncomment-7916064

----
This is an automatically sent email for dev@seata.apache.org.
To unsubscribe, please send an email to: dev-unsubscr...@seata.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@seata.apache.org
For additional commands, e-mail: dev-h...@seata.apache.org

Reply via email to