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 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