Open noear opened 1 year ago
I understand that a viable solution would be to add a filter on the Solon framework side to pass through the context related to Seata transactions, right?
目前2.x分支尚未发布,在1.x上tcc是强依赖与spring的,xa与at依赖数据源代理与spring是解耦的,包括TM侧也是与spring解耦的,我认为只要传递了xid,并在solon中将其绑定到业务线程的上下文中即可,如果solon要集成自动创建事务决议事务的功能,这块需要增加一些切面+注解功能,这块在2.x上对接应该相对容易,我们在2.x中将其与spring彻底解耦,对接也比较容易,只要其框架有扩展点使我们将业务的bean进行代理问题应该不大
I understand that a viable solution would be to add a filter on the Solon framework side to pass through the context related to Seata transactions, right?
是的。就是这个意思:)
目前2.x分支尚未发布,在1.x上tcc是强依赖与spring的,xa与at依赖数据源代理与spring是解耦的,包括TM侧也是与spring解耦的,我认为只要传递了xid,并在solon中将其绑定到业务线程的上下文中即可,如果solon要集成自动创建事务决议事务的功能,这块需要增加一些切面+注解功能,这块在2.x上对接应该相对容易,我们在2.x中将其与spring彻底解耦,对接也比较容易,只要其框架有扩展点使我们将业务的bean进行代理问题应该不大
我觉得应该是的:与 spring 解耦,就可以与各种生态框架进行适配了:)
@noear You can submit a PR to adapt Solon
.
@noear You can submit a PR to adapt
Solon
.
@slievrly 上面的老兄不是说,现在 1.x 有些内容强依赖于 spring ,需要等 2.x 解耦吗???解耦后,我一起参与适配:)
不知 2.x ,计划哪日发布?
@noear 跟Spring没啥关系,你要做的是在服务调用的filter透传和绑定Seata xid就行。参考以下RRC框架的集成,不知道我理解是不是有误。 https://github.com/seata/seata/tree/develop/integration
@slievrly 上面的老兄说现在的 1.x 与 spring 有强耦?。。。我晚点研究下。
@slievrly 另外请教下,提交 pr 的话。。。我可否使用中文注释?
@slievrly 上面的老兄说现在的 1.x 与 spring 有强耦?。。。我晚点研究下。
tcc和saga有,xa和at没有
@a364176773 v2.x 啥时候发啊?它是不是与 spring 解耦啦???
我发现这个 issue ,越来越掉下面了:)。。。你们,还记得这事的吧:)
@a364176773 v2.x 啥时候发啊?它是不是与 spring 解耦啦???
你可以基于2.x开发,at和xa,我不知道你们那边有没有想spring-boot一样对datasource自动装配,如果有的话,还需要配置个自动代理,将这个bean对外暴露的时候转成datasourceproxy,如果是xa就是datasourceproxyxa,短时间来看,你可以直接先传递xid,他们直接手动用datasourceproxy去操作业务sql是没问题的,后面再逐步完善,事务切面代理之类的
@a364176773 2.x 已经有了是吧?。。。Solon 的源数据,倒是由用户构建的(理念上,是以多数据源驱动的。所以用户建,用户命名):
//配置数据源
@Configuration
public class Config {
//typed=true,表示默认数据源。@Db 可不带名字注入
@Bean(name = "db1", typed = true)
public DataSource db1(@Inject("${demo.db1}") HikariDataSource ds) {
return ds;
}
}
不过 solon 有自己的本地 jdbc 事务管理(包括注解与手动,两种模式)
以往我适配的经验是:找那个框架的 springboot 适配版,然后改一下就差不多了。。。。但是, seata 的 springboot 适配版本引入了 “seata-all”,而 "seata-all" 里引入了 “seata-spring”。。。
那 solon 应该引入什么? @a364176773
Solon 框架的仓库:
https://github.com/noear/solon