Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cobar-client-1.0.4 #8

Open
wplatform opened this issue Nov 20, 2013 · 1 comment
Open

cobar-client-1.0.4 #8

wplatform opened this issue Nov 20, 2013 · 1 comment

Comments

@wplatform
Copy link

粗略的看了一下代码,以下是觉得有疑惑的地方,希望能得到作者的解答:
1、CobarSqlMapClientTemplate.sqlMapClient.dataSource没有被加入MultipleDataSourcesTransactionManager管控中,如果这个数据源不在ICobarDataSourceService内声明(就像参考文档那样配置数据源),当路由到这个默认的数据源,事务还能完整吗?

2、基于HotSwappableTargetSource代理的数据源切换会对事务产生影吗?如一个事务中有两个操作,第一个操作在主库完成后主库挂了,第二个操作被切换到次库上,这样事务会有影响吗?

3、如果在这个基础上扩展一个支持读写分离的DataSourceDescriptor,也用HotSwappableTargetSource代理实现数据源切换,发现实现起来很吃力,还可能会有2中的问题。我也看了一下2.0的代码,shard好像也没支持这一部分。因为我现在正要实现这一步分的功能,作者研究这一块应该挺长时间了,希望能得到一些指点。

4、我觉得路由配置可以做的更简单,路由规则配置应该与sqlmap或namespace分离,sqlmap或namespace只需要绑定那个路由规则就可以了,因为多个sqlmap或namespace可以绑定一个路由规则。就像servlet写义与url-mapping的关系,是不是可以变的简单点?

@fujohnwang
Copy link
Contributor

  1. 没纳入进来是因为这种情况是希望其走自己单独的事务, 尽量不要去踏坑 ;)
  2. 这块太jb复杂了,2.0里面去掉了就是这个原因,太复杂的东西不受待见,也不好控制, 建议不要用这个功能了,使用成熟的数据源实现吧;
  3. fail fast吧, 或者求助于特定的数据源实现;
  4. 没理解你什么意思, 给个配置的prototype实例看看,感觉你没有很好的考虑路有规则的粗细力度路由的支持覆盖;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants