GitHub user funky-eyes closed a discussion: How to smooth the upgrade after
transferring to an apache organization
迁移到apache
organization后,原io.seata包下的代码都要迁移至org.apache.seata中,这种改动很可能会造成用户侧升级时需要改造代码,故我们需要讨论一个方法尽量减少用户的迁移成本。
首先2.x分支上我们已经对tcc以及事务代理这块的spring依赖做了去除,目前遗留的可能是saga模块中对spring的强依赖是一个问题。
我们可以参考dubbo社区的经验,将api和注解保留io.seata这个包,在org.apache.seata中新增相关的api和注解。
1. 在扫描器,代理中增加对org.apache.seata包中的注解支持
2.
对于api,将实现代码转移到org.apache.seata包中,io.seata中仅需集成org.apache.seata包中的类,如TransactionalTemplate:
```
public class TransactionalTemplate extends
org.apache.seata.TransactionalTemplate{
}
```
After migrating to the Apache organization, the code under the original
io.seata package needs to be transferred to org.apache.seata. This kind of
change is likely to require code modifications when users upgrade, so we need
to discuss a method to minimize the migration cost for users.
Firstly, on the 2.x branch, we have already removed the spring dependencies for
TCC and transaction proxy. The remaining issue may be the strong dependency on
Spring in the saga module.
We can refer to the experience of the Dubbo community, where the API and
annotations are retained in the io.seata package, and 1. relevant API and
annotations are added in the org.apache.seata package.
1. Add support for annotations from the org.apache.seata package in scanners
and proxies.
2. For the API, move the implementation code to the org.apache.seata package,
and in the io.seata package, only integrate the classes from the
org.apache.seata package, such as TransactionalTemplate:
```
public class TransactionalTemplate extends
org.apache.seata.TransactionalTemplate{
}
```
GitHub link: https://github.com/apache/incubator-seata/discussions/6059
----
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]