GitHub user ptyin edited a comment on the discussion: How to smooth the upgrade 
after migrating 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)

#### 子组件

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

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

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

用于扩充表达式类型

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

用于扩充服务类型调用

[StateMachineRepository.java](../blob/2.x/saga/seata-saga-engine/src/main/java/io/seata/saga/engine/repo/StateMachineRepository.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)

[[ClientTransactionInterceptor.java](https://github.com/apache/incubator-seata/blob/2.x/integration/grpc/src/main/java/io/seata/integration/grpc/interceptor/client/ClientTransactionInterceptor.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 [email protected].
To unsubscribe, please send an email to: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to