hiwjd / txxm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

txxm

test project to archive mysql transaction cross modules.

这个项目用于试验出一种合适方式在同一服务内来保障通过组合不同模块来实现业务时的mysql事务。

最初,分解需求后设计出独立的模块进行开发,模块对外暴露接口使用,上层应用通过组合不同模块来实现业务需求。 假设有用户操作员两个模块,用户是系统内所有参与角色的基础数据,操作员基于用户同时也有一些操作员特定领域的属性。 创建操作员需要先创建用户,然后基于用户给出的uid进一步创建操作员。这样一个组合在上层应用需要配置两份数据库连接信息,随着模块的增加那么重复的配置也得增加,不合适,所以希望模块实现内不单独管理数据库的连接信息,而是由使用方传入,最终定了javax.sql.DataSource,内部使用mybatis。

接下来就是这个项目在尝试的一个问题,让各模块的组合落在同一事务里,组合内的任一模块有异常就执行回滚。

About


Languages

Language:Java 100.0%